在R中将一列变成多列

Make one column into multiple columns in R

我有一个看起来像这样的数据集:

Name Result
X1   Red
X2   Blue
X2   Green
X3   Red
X2   Yellow
X3   Blue

并且我希望 "Name" 列中的值变成它们自己的列及其相应的 "Result" 值

X1  X2     X3
Red NA     NA
NA  Blue   NA
NA  Green  NA 
NA  NA     Red
NA  Yellow NA
NA  NA     Blue

我研究了 tidyr 中的一些选项(例如 separate),但我没有任何运气。

感谢任何帮助。谢谢 :)

我们创建一个行号然后spread

library(tidyverse)
df1 %>% 
   mutate(rn = row_number()) %>%
   spread(Name, Result) %>%
   select(-rn)