使用 Tidyr 的列名超出值
Column names out of values using Tidyr
我有以下数据框
df <- data.frame(event=c("A", "B", "C"), value=c(200,300,400))
df
event value
1 A 200
2 B 300
3 C 400
想得到
event A_value B_value C_value
1 A 200 NA NA
2 B NA 300 NA
3 C NA NA 400
你有解决办法吗?
非常感谢。
(我试过 tidyr::spread 但不知道如何保留 "event" 也没有管理新列的正确命名。我需要保留 "event",因为我需要进一步传输输出并再次使用 "event"。)
这是一个简单的解决方法:使用正确的列名创建一个附加列,然后使用它来传播数据:
library(dplyr); library(tidyr)
mutate(df, key = paste(event, "value", sep = "_")) %>%
spread(key, value)
# event A_value B_value C_value
#1 A 200 NA NA
#2 B NA 300 NA
#3 C NA NA 400
我有以下数据框
df <- data.frame(event=c("A", "B", "C"), value=c(200,300,400))
df
event value
1 A 200
2 B 300
3 C 400
想得到
event A_value B_value C_value
1 A 200 NA NA
2 B NA 300 NA
3 C NA NA 400
你有解决办法吗?
非常感谢。
(我试过 tidyr::spread 但不知道如何保留 "event" 也没有管理新列的正确命名。我需要保留 "event",因为我需要进一步传输输出并再次使用 "event"。)
这是一个简单的解决方法:使用正确的列名创建一个附加列,然后使用它来传播数据:
library(dplyr); library(tidyr)
mutate(df, key = paste(event, "value", sep = "_")) %>%
spread(key, value)
# event A_value B_value C_value
#1 A 200 NA NA
#2 B NA 300 NA
#3 C NA NA 400