【发布时间】:2018-03-19 09:32:14
【问题描述】:
我正在尝试将以下 df_original data.frame 转换为 df_goal 中的形式。原始 data.frame 中的列应被拆分,后一部分用作键,而第一部分应保留为变量名。最好我想使用一个 tidyverse 解决方案,但我对每一种方法都持开放态度。非常感谢!
df_original <-
data.frame(id = c(1,2,3),
variable1_partyx = c(4,5,6),
variable1_partyy = c(14,15,16),
variable2_partyx = c(24,25,26),
variable2_partyy = c(34,35,36))
df_goal <-
data.frame(id = c(1,1,2,2,3,3),
key = c("partyx","partyy","partyx","partyy","partyx","partyy"),
variable1 = c(4,14,5,15,6,16),
variable2 = c(24,34,25,35,26,36))
【问题讨论】:
-
例如
df_original %>% gather(key, value, 2:5) %>% separate(key, into = c("variable", "key")) %>% spread(variable, value)完成这项工作