【问题标题】:How to append multiple columns of a dataframe?如何附加数据框的多列?
【发布时间】:2017-01-04 13:59:16
【问题描述】:

我正在尝试将 R 中数据框的多列组合成一个向量。最简单的方法是什么?

我的数据框看起来像:

X1    X2    X3     X4
----------------------
Paul  John  Cissy  Paul
Rob   Rob   Rob    Amanda

而想要的输出是

X1
---
Paul
Rob
John
Rob
Cissy
Rob
Paul
Amanda

【问题讨论】:

    标签: r dataframe multiple-columns


    【解决方案1】:

    使用unlist:

    df <- data.frame(X1 = c("Paul","Rob"), X2 = c("John", "Rob"))
    v <- unlist(df)
    

    给予:

    > str(v)
    
    Factor w/ 3 levels "Paul","Rob","John": 1 2 3 2
    - attr(*, "names")= chr [1:4] "X11" "X12" "X21" "X22"
    

    您可以使用unname(v) 删除属性名称。

    【讨论】:

      【解决方案2】:

      一个想法使用stack

      df5[] <- lapply(df5[], as.character) #make sure your columns are not factors
      setNames(stack(df5)[1], 'X1')
      
      #      X1
      #1   Paul
      #2    Rob
      #3   John
      #4    Rob
      #5  Cissy
      #6    Rob
      #7   Paul
      #8 Amanda
      

      【讨论】:

        【解决方案3】:

        我们可以试试

        data.frame(X1 = c(as.matrix(df)))
        #      X1
        #1   Paul
        #2    Rob
        #3   John
        #4    Rob
        #5  Cissy
        #6    Rob
        #7   Paul
        #8 Amanda
        

        【讨论】:

          猜你喜欢
          • 2021-07-07
          • 2022-08-16
          • 1970-01-01
          • 1970-01-01
          • 2021-06-06
          • 1970-01-01
          • 2021-05-01
          • 2022-01-17
          • 2021-12-20
          相关资源
          最近更新 更多