簡體   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