2017-05-16 8 views
0

私がしようとしているのは、最初の列の繰り返し行が他の列の対応する行をコピーするインデックスとして機能するデータフレームを取得することです。私はこの音が乱雑であることを知っています。問題を正確に述べることができないことが、私がこれに多くの問題を抱えている理由の1つです。 以下に再現可能な例を示します。インデックスでデータフレームを再アセンブルする

structure(list(Var1 = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 1L, 
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 
16L, 17L), .Label = c("2016-01", "2016-02", "2016-03", "2016-04", 
"2016-05", "2016-06", "2016-07", "2016-08", "2016-09", "2016-10", 
"2016-11", "2016-12", "2017-01", "2017-02", "2017-03", "2017-04", 
"2017-05"), class = "factor"), Var2 = structure(c(1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L 
), .Label = c("B2B", "B2C", "B2K"), class = "factor"), Freq = c(5L, 
13L, 8L, 13L, 36L, 5L, 18L, 1L, 12L, 24L, 22L, 6L, 24L, 15L, 
11L, 26L, 1L, 338L, 285L, 291L, 232L, 142L, 42L, 92L, 9L, 46L, 
34L, 45L, 35L, 30L, 31L, 36L, 56L, 9L, 0L, 1L, 0L, 0L, 0L, 0L, 
7L, 0L, 13L, 0L, 1L, 0L, 0L, 0L, 0L, 2L, 0L)), .Names = c("Var1", 
"Var2", "Freq"), class = "data.frame", row.names = c(NA, -51L 
)) 

基本的に私が欲しいものは次のとおりです。日付が繰り返される行でVAR1なし繰り返さ日付

    • 、VAR2とのFreqの値を取り、二つの新しい列にコピーしユニーク日付
    • のインデックスにこれは

    は、事前にありがとうVAR2

  • のすべての異なったレベルのために行われなければなりません!

    答えて

    2

    私はあなたの説明しようとしているのがダストだと思います。これであなたはそれをどうやって望みますか?

    library(reshape2) 
    dcast(x,Var1~Var2,value.var="Freq") 
    
    +0

    あなた、先生は、私だけが保存されます!ありがとうございました!!! –

    1

    base Rオプションは

    xtabs(Freq~Var1 + Var2, df1) 
    
    関連する問題