R语言Data.frame处理:将多列数据合并为单列的技术问询
将多列数据框转换为单列的几种方法
这里有几种在R中把你的多列数据框转为单列的实用方法:
base R 方法
方法1:使用unlist()
unlist()可以直接将数据框的所有列按顺序展开为一个向量,再包装成单列数据框:
single_col_df <- data.frame(value = unlist(df))
方法2:使用stack()
stack()会把数据框转换为包含值和原列名的两列数据,我们只提取值列即可:
single_col_df <- stack(df)[, "values", drop = FALSE]
drop = FALSE确保结果保持数据框格式,而非转为向量。
tidyverse 方法
如果你习惯用tidyverse工具链,可以用pivot_longer()灵活实现:
library(tidyverse) single_col_df <- df %>% pivot_longer(cols = everything(), # 选中所有列 names_to = NULL, # 丢弃原列名 values_to = "value") # 指定新列名称
内容的提问来源于stack exchange,提问作者César Carvallo
相关产品推荐
相关产品推荐

