我有一个看起来像这样的数据框
beta1 beta2 beta3
4 67 89
33 7 78
6 99 33
etc
现在,我想将此数据帧转换为类似
的其他数据帧。col1 col2
4 beta1
33 beta1
6 beta1
67 beta2
etc
因此,这些列必须粘贴在彼此之间,第二列应由第一个数据帧的名称组成。有人知道如何做到无循环吗?
答案 0 :(得分:1)
和通常的data.table方法:
library( data.table )
data <- fread("beta1 beta2 beta3
4 67 89
33 7 78
6 99 33")
melt( data,
measure.vars = patterns( "^beta" ),
variable.name = "col2",
value.name = "col1" )
# col2 col1
# 1: beta1 4
# 2: beta1 33
# 3: beta1 6
# 4: beta2 67
# 5: beta2 7
# 6: beta2 99
# 7: beta3 89
# 8: beta3 78
# 9: beta3 33