我给出了编码和 R 的第一步,但我遇到了一个问题:
我有一个具有以下格式的数据框:
Months| Person
April Person1
May Person2
April Person1
June Person 3
May Person4
我想要这个输出:
May - Person2, Person4
April - Person1
June - Person3
我在用unique(df$months)
我得到了独特的月份,但我无法找到人。
我在想保存每个的索引unique(df$months)
并选择这些索引的“人”...这对于每个unique(df$months)
。但这似乎不是“最佳”或良好实践。
有人可以帮助我吗?
你可以使用aggregate
(from base R
)删除“重复”行后(unique(df)
)并使用(toString
) to paste
将按“月份”分组的唯一“人”组合在一起。toString
是一个包装器paste(., collapse=', ')
aggregate(.~Months, unique(df), toString)
# Months Person
#1 April Person1
#2 June Person3
#3 May Person2, Person4
或者同样可以在data.table
首先转换为“data.table”(setDT
),删除重复项等...
library(data.table)
unique(setDT(df))[,list(Person=toString(Person)) , Months]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)