繁体   English   中英

将现有列拆分为多个新列

[英]Split existing column to multiple new columns

我有一个这样的数据框:

原始数据框

我想要这样的结果:

预期结果

我写了这段代码:

test$statetwentyeighteen = test$state[test$year=="2018"]

但我得到了这个错误的结果:

错误的结果

你能帮忙看看如何修改代码吗?


更新:

我在这件事上遇到了一个新问题。 当原始表更新为: 更新的数据框

此代码不再有效

test %>% group_by(name) %>% mutate(state_twentyeighteen = state[year == 2018])

相反,我收到此错误消息:

Error: Column `state_twentyeighteen` must be length 3 (the group size) or one, not 2

你能看看应该对代码做哪些修改吗?

使用dplyr ,你可以做

library(dplyr)
test %>% group_by(name) %>% mutate(state_twentyeighteen = state[year == 2018])

data.table类似

library(data.table)
setDT(test)[, state_twentyeighteen := state[year == 2018], name]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM