r - 更改列名的字母大小写

标签 r

我有大量数据集,每个数据集都包含一长串列名。在某些文件中,列名都是大写字母,而在某些文件中,只有列名的第一个字母大写。我需要附加数据集,并认为在数据集中匹配列名的最简单方法是将全大写名称转换为仅首字母大写的名称。

我希望找到一个通用的解决方案,甚至可能是单线。

这是我的示例数据集。所需名称包含在 names 中陈述。

my.data2 <-  "
landuse units grade CLAY    LINCOLN  BASINANDRANGE  MCCARTNEY  MAPLE
apple   acres AAA     0         2          3             4         6
apple   acres AA   1000       900         NA            NA       700
pear    acres AA   10.0        20         NA          30.0        40
peach   acres AAA   500       400        350           300       200
"
my.data2 <- read.table(textConnection(my.data2), header=TRUE)

names(my.data2)[names(my.data2)=="CLAY"]            <- "Clay"
names(my.data2)[names(my.data2)=="BASINANDRANGE"]   <- "BasinandRange"
names(my.data2)[names(my.data2)=="LINCOLN"]         <- "Lincoln"
names(my.data2)[names(my.data2)=="MCCARTNEY"]       <- "McCartney"
names(my.data2)[names(my.data2)=="MAPLE"]           <- "Maple"

my.data2

请注意,我包括了名称 McCartneyBasinandRange使事情变得更现实和更困难。但是,如果我能找到一个单行来处理 95% 的名称并使用上面的 names处理复杂情况的语句,例如 McCartneyBasinandRange那太好了。

我搜索了互联网,包括 StackOverflow 文件,但没有找到解决方案。对不起,如果我忽略了一个。感谢您的任何帮助。

最佳答案

简单的解决方案names(DF) <- toupper(names(DF))

关于r - 更改列名的字母大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258020/

相关文章:

r - 基于其他列中的公共(public)值的重复行?

r - 向后而不是向前更有效地滚动连接?

r - R 中泊松随机变量生成的改进逆变换方法

r - 如何选择 R 矩阵中的唯一列

R 没有工作区但分配了 2+GB 的内存?

r - ggplot density2d 中的非重叠多边形

r - 如何使用 R 在散点图上创建线性回归线?

r - 具有随机效应和 lsoda 的非线性回归

r - 有没有办法将本地存储的图像读取到 Plotly 中?

替换字符串中第四次出现的字符