1

次のようなギャップのあるデータフレームがあります。

           Var1    Var2    Var3
1            NA      NA      NA
2            NA      NA      NA
3            NA      NA      NA
4            NA 0.06703      NA
5            NA 0.08639      NA
6            NA 0.19023 0.02322
7            NA 0.31764 0.08058
8            NA 0.44426 0.15081
9            NA 0.37529 0.29595
10           NA 0.40029 0.29274
11           NA 0.33828 0.39168
12      0.01595 0.31432 0.43192
13      0.05217 0.28560 0.48150
14      0.07196 0.32588 0.56065
15      0.08771 0.26301 0.68131

実行melt(),すると、NAセルを削除します 。ただし、グループmelt(df, na.rm = TRUE)内の各値の位置の行番号を含む新しい列を追加したいと思います。variable

したがって、私の結果は次のようになります。

variable    value
    Var1   0.01595
    Var1   0.05217
    Var1   0.07196
    Var1   0.08771
    Var2   0.06703
    Var2   0.08639
...etc

そして私はそれらをこのように見せたい:

variable    value    index
    Var1   0.01595   1
    Var1   0.05217   2
    Var1   0.07196   3
    Var1   0.08771   4
    Var2   0.06703   1
    Var2   0.08639   2
...etc

溶融プロセスの前、最中、後のいずれであっても、これらの内部行番号を生成するための最良の方法は何ですか?

4

1 に答える 1

3

自動インクリメントされたコホートカウントに関するこの前の質問を見てください。これがあなたがやりたいことだと思います。もしそうなら、おそらく(少なくとも私にとっては)これをplyrとは別の操作として行うのが最も簡単です。

要点は次のとおりです。

ddply(df, .(variable), function(x) data.frame(x, NewID=1:nrow(x))) 
于 2010-03-03T17:31:26.167 に答える