在R语言中如何将数据框的country列转换为行名调整数据结构
方法1:基础R实现
直接通过内置的rownames函数绑定行名后移除原有country列即可,代码示例:
# 请将示例中的df替换为你自己的原始数据框名 rownames(df) <- df$country # 移除冗余的country列 df <- df[, -which(colnames(df) == "country")] # 如果需要匹配你示例中的列名大小写,补充执行以下两行 colnames(df)[colnames(df) == "score"] <- "Score" colnames(df)[colnames(df) == "code"] <- "Code"
方法2:tidyverse生态实现
如果你使用tidyverse工具链,可以用tibble包的column_to_rownames函数完成,代码更简洁:
library(dplyr) library(tibble) df <- df %>% column_to_rownames(var = "country") %>% rename(Score = score, Code = code)
注意:如果你使用的是tibble格式数据,行名默认不会在打印时展示,调用
as.data.frame(df)转为普通数据框即可看到和你示例完全一致的输出效果。
内容的提问来源于stack exchange,提问作者Rhedavetester
相关产品推荐
相关产品推荐

