【发布时间】:2019-06-02 13:52:00
【问题描述】:
我有一个很大的属性列表,我想将它们转换成一个表格。
我看起来像这样:
name Key Value
1 age 20
1 sex 1
2 age 20
2 sex 0
3 age 22
4 age 30
5 age 29
6 age 6
我想把它转换成这样的:
name age sex
1 20 1
2 20 0
3 22
4 30
5 29
6 6
有人有想法吗?
#
编辑 我的原始列表有更多的值,而不仅仅是 2。我看到的所有答案都没有回答我的问题。 我会尝试用更小的表更好地解释它。
我的桌子:
name key value
1 first 0
2 first 1
2 sec 1
1 sec 2
1 tr 1
2 tr 0
3 first 0
3 sec 0
4 first 0
想要的结果:
name first sec tr
1 0 2 1
2 1 1 0
3 0 0
4 0
【问题讨论】:
-
看看
tidyr::spread -
只是一个旁注。 Attribute 可以作为 R 中的“特殊词”。因此,最好谨慎使用(在我看来)。
-
tidyr::spread(df, key, value)或tidyr::spread(df, key, value, fill = 0)或tidyr::spread(df, key, value, fill = "")取决于您希望如何fill空值。