簡體   English   中英

使用 dplyr 將多列連接成一列

[英]Concatenate multiple columns into one with dplyr

我有一個這樣結構的 df,但有大量的列和行:

 A   B   C   D 
 1   4   3   3

我想獲得一個單列的 df,由所有以前的元素串聯而成:

 A
 1
 B
 4
 C
 3
 D
 3

我能怎么做? 如果解決方案包括使用 dplyr,則更好。

unlist並將其包裝在data.frame

data.frame(col = unlist(df), row.names = NULL)

#  col
#1   A
#2   1
#3   B
#4   4
#5   C
#6   3
#7   D
#8   3

或者把它做成tibble

library(tibble)
tibble(col = unlist(df))

#   col  
#  <fct>
#1   A    
#2   1    
#3   B    
#4   4    
#5   C    
#6   3    
#7   D    
#8   3    

@Sotos 提到的另一個選項是stack但它需要類字符列

df[] <- lapply(df, as.character)
stack(df)[1]

數據

df <- read.table(text = "A   B   C   D 
                         1   4   3   3")

tidyverse ,使用gather

library(tidyverse)
gather(df) %>% 
     select(value)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM