ここSOで同様の問題への参照をいくつか読みましたが、まだ解決策を見つけることができず、data.tableだけを使用して次のことを行う方法があるかどうか疑問に思っています。
簡単な例を使用しますが、実際には、データ テーブルには var1、var2、... var1000 などのような 1000 を超える列があります。
dt <- data.table(uid=c("a","b"), var1=c(1,2), var2=c(100,200))
reshapeのmelt関数に似た出力を得ることができるソリューションを探しています-
> melt(dt, id=c("uid"))
uid variable value
1 a var1 1
2 b var1 2
3 a var2 100
4 b var2 200
つまり、uid を除くすべての列が 1 つの列の下にリストされ、対応する値が隣接する列に表示されます。リストなどの組み合わせでこれを試しましたが、明らかなものが欠けている可能性があります。
dt のすべての uid は一意です。
前もって感謝します。