【问题标题】:How to extract 2 pairwise vectors from a matrix?如何从矩阵中提取 2 个成对向量?
【发布时间】:2019-11-13 14:26:10
【问题描述】:

我在How to combine 2 pairwise vectors into a matrix 上看到了一个帖子。我想知道是否可以反过来做?

【问题讨论】:

  • 你能给出一个可重现的例子并显示预期的输出吗?

标签: r dataframe tidyverse


【解决方案1】:

如果我理解您的问题,我认为 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

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2023-02-02
    • 1970-01-01
    • 2014-05-11
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2016-09-14
    相关资源
    最近更新 更多