将多个重复的行转换为 R 列

Foj*_*jit 3 r duplicates

我是 R 的新手,我的数据框在第一列中有多个重复项,但是第二列具有唯一值。

我想在第一列中保留唯一值,并为每个唯一值设置一个不同的列。

我当前的数据框看起来像这样:

Item    Value
Apricot 4
Apricot 2
Apricot 5
Banana  4
Carrot  7
Carrot  5
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

Item    Value 1     Value 2     Value 3
Apricot     4           2           5
Banana      4       
Carrot      7           5   
Run Code Online (Sandbox Code Playgroud)

提前致谢。佛吉特

akr*_*run 5

这可以很容易地完成data.table(如果您使用的是develie 版本1.9.7,请在此处查看安装详细信息)。方便的函数rowid可以获取基于变量的序列。在dcast公式中使用它,我们得到“宽”输出。

library(data.table)
dcast(setDT(df1), Item~rowid(Item, prefix="Value"), value.var="Value")
#      Item Value1 Value2 Value3
#1: Apricot      4      2      5
#2:  Banana      4     NA     NA
#3:  Carrot      7      5     NA
Run Code Online (Sandbox Code Playgroud)