我不知道为什么,但是我使用reshape函数获得了一个混乱的结果,我已经尝试了其他答案,但是我不知道为什么我的解决方案不起作用
df <- data.frame(design = c("house", "house", "car","car", "plane","plane"),
who = c("creator1", "creator2", "creator1", "creator2",
"creator1", "creator2"),
how_many = c(3, 6, 1, 7, 8, 2))
我尝试过
tidyr::spread(data = df, value=design , key = who)
我得到的结果是:
how_many creator1 creator2
1 1 car <NA>
2 2 <NA> plane
3 3 house <NA>
4 6 <NA> house
5 7 <NA> car
6 8 plane <NA>
我想用这种格式创建一个数据框:
Design creator1 creator2
house 3 6
car 1 7
plane 8 2
答案 0 :(得分:1)
例如@Jon Spring以及其他操作系统问题。
library(dplyr)
library(tidyr)
df <- data.frame(design = c("house", "house", "car","car",
"plane","plane"),
who = c("creator1", "creator2", "creator1",
"creator2","creator1", "creator2"),
how_many = c(3, 6, 1, 7, 8, 2))
df
> df
design who how_many
1 house creator1 3
2 house creator2 6
3 car creator1 1
4 car creator2 7
5 plane creator1 8
6 plane creator2 2
df2 <- df %>%
tidyr::spread(who, how_many)
df2
> df2
design creator1 creator2
1 car 1 7
2 house 3 6
3 plane 8 2