0

次のデータを使用して、R で項目頻度マトリックスを構築しようとしています。

H_USERID    H_AUDIOID
1   TRAAAAW128F429D538.h5
2   TRAAABD128F429CF47.h5
2   TRAAADZ128F9348C2E.h5
3   TRAAAEF128F4273421.h5
3   TRAAAFD128F92F423A.h5
3   TRAAAMO128F1481E7F.h5
3   TRAAAMQ128F1460CD3.h5
3   TRAAAPK128E0786D96.h5
3   TRAAARJ128F9320760.h5
4   TRAAAVG12903CFA543.h5
4   TRAAAVO128F93133D4.h5
4   TRAABCL128F4286650.h5
4   TRAABDL12903CAABBA.h5

私が欲しいのは、一意のユーザーを行として、audioID を列として持つテーブルだけです。これを行うには dcast メソッドを使用する必要があることは理解していますが、その方法を正確に理解することはできません。次のコードを試しましたが、適切な解決策ではないことはわかっています。

user = read.csv("temp.csv")
step1 = melt(user)
output <- dcast(step1, user$H_AUDIOID~value, fun.aggregate = length)
output = t(output)

望ましい出力は次のとおりです。

user$H_AUDIOID  TRAAAAW128F429D538.h5   TRAAABD128F429CF47.h5   TRAAADZ128F9348C2E.h5   TRAAAEF128F4273421.h5   TRAAAFD128F92F423A.h5   TRAAAMO128F1481E7F.h5   TRAAAMQ128F1460CD3.h5   TRAAAPK128E0786D96.h5   TRAAARJ128F9320760.h5   TRAAAVG12903CFA543.h5   TRAAAVO128F93133D4.h5   TRAABCL128F4286650.h5   TRAABDL12903CAABBA.h5
1   1   0   0   0   0   0   0   0   0   0   0   0   0
2   0   1   1   0   0   0   0   0   0   0   0   0   0
3   0   0   0   1   1   1   1   1   1   0   0   0   0
4   0   0   0   0   0   0   0   0   0   1   1   1   1

どんな助けでも役に立ちます。

4

0 に答える 0