我有一个像这样的df结构,但是有很多列和行:
A B C D
1 4 3 3
并且我想获得由单列组成的df,该列由前面所有元素的串联组成:
A
1
B
4
C
3
D
3
我该怎么办? 如果解决方案包括使用dplyr,那就更好了。
答案 0 :(得分:3)
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")
答案 1 :(得分:1)
在tidyverse
中,使用gather
library(tidyverse)
gather(df) %>%
select(value)