如何将names(df)获取的列名转换为以SampleID为表头的新dataframe
R实现方法
1. Base R 实现
直接通过列名向量构建新数据框即可,代码如下:
# 获取原始数据框所有列名 col_vec <- names(df) # 构建目标数据框,列名为SampleID,值为排除SampleID后的其余列名 new_df <- data.frame( SampleID = col_vec[col_vec != "SampleID"], check.names = FALSE )
加
check.names = FALSE是为了避免R自动修改列名,保证表头严格为SampleID。
2. Tidyverse 实现
如果习惯用tidyverse生态的工具,可以用tibble构建,代码如下:
library(tibble) new_df <- tibble( SampleID = names(df)[names(df) != "SampleID"] )
执行print(new_df)即可验证输出是否符合预期格式。
内容的提问来源于stack exchange,提问作者user2110417
相关产品推荐
相关产品推荐

