【问题标题】:Add columns to each other (not combine!)相互添加列(不要合并!)
【发布时间】:2016-12-27 00:40:32
【问题描述】:

我想在彼此下方添加现在彼此相邻的列,以便最后只有一个非常长的列。

因为我有 150 列可以组合成一个长列,所以一个有效的解决方案会很棒。

简短示例:

现在的样子:

A B C
A B C
A B C

我希望它看起来如何:

A  
A
A
B
B
B
C
C
C 

【问题讨论】:

  • 您需要更好地解释您想要实现的目标...您想更改您的数据库吗?只是得到一份报告?
  • 如果您从矩阵开始,您可以使用myVec <- c(myMat)

标签: r dataframe statistics multiple-columns


【解决方案1】:

unlist 做你想做的事。

Data = read.table(text="A B C
A B C
A B C")
Data
  V1 V2 V3
1  A  B  C
2  A  B  C
3  A  B  C
unlist(Data)
V11 V12 V13 V21 V22 V23 V31 V32 V33 
  A   A   A   B   B   B   C   C   C

【讨论】:

  • unlist 本身不会产生列。
  • data.frame(unlist(Data)) 如果你喜欢 :-)
【解决方案2】:

假设您从数据框开始:

dd <- data.frame(V1=rep("A",3),V2=rep("B",3),V3=rep("C",3))

把它变成一个矩阵,然后去掉维度:

c(as.matrix(dd))

您可以使用matrix()cbind() 将其转换回一列矩阵,或者使用data.frame() 将其转换回一列数据框

【讨论】:

    【解决方案3】:

    我们可以使用gather/select

    library(dplyr)
    library(tidyr)
    gather(dd) %>%
             select(value)
    

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 2014-09-18
      • 2016-05-11
      • 1970-01-01
      相关资源
      最近更新 更多