根据第1列将一列更改为行

时间:2014-07-15 16:44:08

标签: r

嗨,我是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

感谢您的帮助。

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))