我想将未知值的 Dataframe 分成多个值。例如:
示例数据:
df <- data.frame(ID = c(1, 2, 3, 4, 5, 6, 7),
var1 = c('a', 'a', 'b', 'b', 'b','c','d'))
> df
ID var1
1 'a'
2 'a'
3 'b'
4 'b'
5 'b'
6 'c'
7 'd'
我想返回:
df
ID a b c d
1 'a' NA NA NA
2 'a' NA NA NA
3 NA 'b' NA NA
4 NA 'b' NA NA
5 NA 'b' NA NA
6 NA NA 'c' NA
7 NA NA NA 'd'
这可能应该是真的很简单,但对我的生活,我不能弄清楚,我的搜索努力在这里想出了类似的东西,但不完全是我需要的答案。
谢谢!
2条答案
按热度按时间b4lqfgs41#
您可以在
df$var
的唯一值上使用sapply
:输出
apeeds0o2#
另一种选择是使用
pivot_wider
,用names_from
指定var1列的列名,用values_from
指定var1列的值,如下所示:创建于2022年12月12日,使用reprex v2.0.2