多数のデータセットがあり、それぞれに列名の長いリストが含まれています。一部のファイルでは、列名はすべて大文字であり、一部のファイルでは、列名の最初の文字のみが大文字になっています。データセットを追加する必要があり、データセット間で列名を一致させる最も簡単な方法は、すべて大文字の名前を最初の文字だけを大文字にした名前に変換することだと思いました。
私は一般的な解決策、おそらくワンライナーを見つけることを望んでいます。
これが私のサンプルデータセットです。必要な名前が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アーカイブを含むインターネットを検索しました。見落としたらごめんなさい。助けてくれてありがとう。