私はRプログラミング自体がいくつかの問題にぶつかったことを学んでいます-そしてあなたの助けを借りてそれらを修正することができました。
しかし、データフレームの列の名前を変更する必要があります。列名と新しい列の名前を含む2列の翻訳データフレームがあります。
これが私のコードです:私の質問は、transデータフレームから2つの列を選択し、ここでそれらをtrans $ old変数とtrans $ new変数として使用するにはどうすればよいですか?
名前を変更する列が7つありますが、これはさらに長くなる可能性があるため、変換テーブルです。
replace_header <- function()
{
names(industries)[names(industries)==trans$old] <- trans$new
replaced <- industries
return (replaced)
}
replaced_industries <- replace_header()
組み込みのmtcars
データフレームを使用した例を次に示します。このmatch
関数を使用して、置き換える列名のインデックスを見つけて、新しい名前に置き換えます。
# Copy of built-in data frame
mt = mtcars
head(mt,3)
mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
# Data frame with column name substitutions
dat = data.frame(old=c("mpg","am"), new=c("new.name1","new.name2"), stringsAsFactors=FALSE)
dat
old new 1 mpg new.name1 2 am new.name2
データフレームmatch
内の「古い」名前のインデックスを見つけるために使用しますmt
。
match(dat[,"old"], names(mt))
[1] 1 9
「古い」名前を「新しい」名前に置き換えます。
names(mt)[match(dat[,"old"], names(mt))] = dat[,"new"]
head(mt,3)
new.name1 cyl disp hp drat wt qsec vs new.name2 gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加