【发布时间】:2015-09-04 23:26:53
【问题描述】:
我正在尝试采用键值组合并将所有值与键放在同一行。我很确定我曾经知道如何做到这一点(我认为使用 data.table)并且我一直在研究通常的嫌疑人 reshape2、tidyr、data.table 等,但我似乎无法弄清楚出一个简单的解决方案。
key1 = c(1,1,1,1,2,2,2,2)
key2 = c("A","A","B","B","C","C","D","D")
value = c("a","b","c","d","e","f","g","h")
kvframe = data.frame(key1,key2,value)
# key1 key2 value
#1 1 A a
#2 1 A b
#3 1 B c
#4 1 B d
#5 2 C e
#6 2 C f
#7 2 D g
#8 2 D h
这是我希望表格的样子:
# key1 key2 value1 value2
# 1 A a b
# 1 B c d
# 2 C e f
# 2 D g h
大多数 key1,key2 对具有相同数量的对应值,但并非全部都如此。我希望有一个解决方案,其值列数等于任何给定键集的最大值数,其中任何值较少的对都用 NA 填充。
【问题讨论】:
标签: r dataframe data.table tidyr