我是R新手,我在第一列中有一个包含多个重复项的数据框,但第二列有唯一值。
我想在第一列中保留唯一值,并为每个唯一值设置不同的列。
我当前的数据框看起来像这样:
Item Value
Apricot 4
Apricot 2
Apricot 5
Banana 4
Carrot 7
Carrot 5
我希望它看起来像这样:
Item Value 1 Value 2 Value 3
Apricot 4 2 5
Banana 4
Carrot 7 5
提前致谢。 Fojjit
答案 0 :(得分:2)
这可以通过data.table
轻松完成(如果您使用的是devel
版本,即1.9.7
,则安装详情here)。方便的函数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
答案 1 :(得分:1)
您需要为价值订单添加额外的列。他们可以使用spread
library(dplyr)
library(tidyr)
your.data %>%
group_by(Item) %>%
mutate(Order = seq_along(Item)) %>%
spread(key = Order, value = Value)