我有多个类似于下面的列表。
a = c(1,2,3)
b = c(4,5,6)
c = c(7,8,9)
我知道我可以使用cbind.data.frame
创建一个3x3数据格式。但是,我希望创建一个2列数据框架,其中第1列中的第1-3行有a
,第4-6行有b
等等。
data.frame(c('a','a','a','b','b','b'), c(1,2,3,4,5,6))
发布于 2015-11-09 15:38:30
我们可以创建一个key/value
对list
元素,并使用stack
将其转换为一个2列数据集。mget
以键作为对象名在list
中获取字符对象名称的值。
stack(mget(c('a', 'b', 'c')))
# values ind
#1 1 a
#2 2 a
#3 3 a
#4 4 b
#5 5 b
#6 6 b
#7 7 c
#8 8 c
#9 9 c
发布于 2015-11-09 15:45:08
另一个选项是创建3x3 data.frame
和melt
it:
library(reshape2)
melt(data.frame(a = c(1,2,3),b = c(4,5,6),c = c(7,8,9)))
# variable value
#1 a 1
#2 a 2
#3 a 3
#4 b 4
#5 b 5
#6 b 6
#7 c 7
#8 c 8
#9 c 9
https://stackoverflow.com/questions/33612668
复制相似问题