У меня есть большое количество наборов данных, каждый из которых содержит длинный список имен столбцов. В некоторых файлах имена столбцов имеют прописные буквы, а в некоторых файлах только первая буква имен столбцов капитализируется. Мне нужно добавить наборы данных и подумал, что самый простой способ сопоставить имена столбцов между наборами данных - это преобразовать имена всех капиталов в имена только с заглавной буквой в первую букву.
Я надеюсь найти общее решение, возможно даже однострочное.
Вот мой примерный набор данных. Именные имена включены в операторы 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, не найдя решения. Извините, если я пропустил это. Спасибо за любую помощь.