我有大量的數據集,每個數據集都包含一長串列名。在一些文件中,列名都是大寫字母,而在某些文件中,只有列名的第一個字母是大寫。我需要附加數據集,並認爲在數據集之間匹配列名的最簡單方法是將全部名稱轉換爲只有首字母大寫的名稱。列名更改字母大小寫
我希望找到一個通用的解決方案,甚至可能是一個單線程。
這是我的示例數據集。所需的名稱包含在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
注意,包括我的名字McCartney
和BasinandRange
使事情變得更加現實,更加困難。但是,如果我可以找到一個單線來處理95%的名稱,並使用上述names
語句來處理諸如McCartney
和BasinandRange
之類的併發症,那將很不錯。
我搜索了互聯網,包括StackOverflow存檔,沒有找到解決方案。對不起,如果我忽略了一個。感謝您的任何幫助。
它可能會更容易些,如果你轉換所有的名稱全部大寫或全部小寫使用'toupper'或'tolower',分別。將它們轉換爲混合大小寫將會更困難。 –