【发布时间】:2020-11-03 15:24:56
【问题描述】:
我有一个这样的数据框:
用这个创建:
companies = c("ABC Ltd", "ABC Ltd", "ABC Ltd", "Derwent plc", "Derwent plc")
sic = c("12345", "24155", "31231", "55346", "34234")
df = data.frame(companies, sic)
如您所见,由于 SIC 代码,公司列是重复的。
我想扩大范围,以便每个 SIC 代码都有自己的列,并且每行只有 1 家公司。
类似下面的内容,我不知道可能有多少列(即可能有一些公司有 20 个 sic 代码)。
我尝试使用 pivot_wider 旋转它,但我无法让它做我需要它做的事情。
非常感谢任何帮助。
【问题讨论】:
-
data.table:dcast(setDT(df), companies~rowid(companies), value.var = 'sic')