嗨,我是r编程的新手,我只是无法找出问题的答案,比如我想根据第一列将第二列更改为行,即我的数据文件看起来像
article user
1 u1
1 u2
1 u3
2 u2
2 u4
2 u5
3 u1
3 u6
3 u4
3 u7
所以我想要的是形成一个带行的矩阵,文章和列都是用户喜欢的例如。
article u1 u2 u3 u4 u5 u6 u7
1 1 1 1 0 0 0 0
2 0 1 0 1 1 0 0
3 1 0 0 1 0 1 1
感谢您的帮助。
答案 0 :(得分:2)
假设您的data.frame
被称为“testdf”,请使用table
:
> table(testdf)
user
article u1 u2 u3 u4 u5 u6 u7
1 1 1 1 0 0 0 0
2 0 1 0 1 1 0 0
3 1 0 0 1 0 1 1
如果您希望可能存在重复的组合,并且您只对二进制表示感兴趣,则可能还需要使用(table(testdf) > 0) * 1
。
David的编辑,也许你想要?
as.data.frame.matrix(table(testdf))