【发布时间】:2019-11-13 14:26:10
【问题描述】:
我在How to combine 2 pairwise vectors into a matrix 上看到了一个帖子。我想知道是否可以反过来做?
【问题讨论】:
-
你能给出一个可重现的例子并显示预期的输出吗?
我在How to combine 2 pairwise vectors into a matrix 上看到了一个帖子。我想知道是否可以反过来做?
【问题讨论】:
如果我理解您的问题,我认为 dplyr 包中的收集功能在这里会有很大帮助。
library(dplyr)
x <- c('A','B','C')
dat <- expand.grid(x, x)
dat$Var3 <- rnorm(9)
df <- reshape(dat, idvar = "Var1", timevar = "Var2", direction = "wide")
df
Var1 Var3.A Var3.B Var3.C
A -0.6600467 -0.3104995 0.09838619
B -0.7893837 1.1798629 1.07563953
C -1.8380682 0.5383169 -0.40365158
gather(df,"col_names",'values',2:4)
Var1 col_names values
A Var3.A -0.66004667
B Var3.A -0.78938370
C Var3.A -1.83806815
A Var3.B -0.31049949
B Var3.B 1.17986293
C Var3.B 0.53831689
A Var3.C 0.09838619
B Var3.C 1.07563953
C Var3.C -0.40365158
【讨论】: