r - 如何处理 R 中的长列名?
问题描述
我有一个由许多非常具体的变量组成的大型数据集。我正在寻找一种使用快速方法而不是手动更改超过 1000 列的方法来简化列名。
total.population.2020 <- c("1","2" )
total.population.2020.both.sexes <- c("3", "4")
total.population.2020.sexes.males.14.to.16.years <- c("7", "9")
total.income.2020 <- c("55", "40")
total.income.2020.25.to.30.years <- c("80", "90")
df <- data.frame(total.population.2020, total.population.2020.both.sexes, total.population.2020.sexes.males.14.to.16.years, total.income.2020, total.income.2020.25.to.30.years)
我首先从 Janitor 运行 clean_names 函数,因为在原始 df 上使用 gsub/abbreviate 会清除整个列名,使其为空而不是简化它。
library(janitor)
df <- clean_names(df)
然后我会运行 gsub/abbreviate。但是,我遇到的问题是缩写仍然很长(10 个字符以上)并且缺少我认为是重要标识符的数字(例如 20 到 25 岁)。这需要我仍然手动更改列名。
names(df) <- abbreviate(gsub("_", " ", names(df)))
df
有没有更简单的方法?您将如何处理具有长列名的大型数据集?
预期输出:
老的 | 新的 |
---|---|
total.population.2020 |
tp |
total.population.2020.both.sexes |
tpb |
total.population.2020.sexes.males.14.to.16.years |
tpm14_16 |
total.income.2020 |
钛 |
total.income.2020.25.to.30.years |
ti25_30 |
解决方案
推荐阅读
- reactjs - 使用 react-intl 提供翻译服务
- javascript - THREE.js GLTFLoader 在加载 3D 模型时不起作用
- javascript - 如何使用图表 js 在图表区域上绘制 y 轴?
- angular - 参考错误:未定义窗口 SSR ANGULAR
- wpf - 通过 .lnk 打开 PS1 文件时,TextBox 显示“System.Windows.Controls.TextBox”
- angular - 如何仅在 ngx-owl-carousel 中从中心项调用函数?
- sql - 更新返回 * 并选择结果作为行
- pandas - Pandas - 根据另一列中的值在列中查找值并替换不同列中的日期
- postgresql - 是否可以通过 ODBC 连接到 GCP PostgreSQL
- r - 我可以使用带有相关矩阵的相关测试函数作为输入吗?