[英]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.