在R中使用整形的混乱结果

在R中使用整形的混乱结果,r,reshape,tidyr,R,Reshape,Tidyr,我不知道为什么,但我使用重塑函数得到了一个混乱的结果,我已经尝试过其他答案,但我不知道为什么我的解决方案不起作用 df <- data.frame(design = c("house", "house", "car","car", "plane","plane"), who = c("creator1", "creator2", "creator1", "creator2", "creator

我不知道为什么,但我使用重塑函数得到了一个混乱的结果,我已经尝试过其他答案,但我不知道为什么我的解决方案不起作用

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))
我得到的结果是:

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>

例如@jonspring和其他操作系统问题

df%>%spread(谁,多少)
你应该有
多少
作为价值,而不是
设计
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
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