Jaredが提案したように、私はこの回答から、の2番目の引数を最適化しようとしています。plyr:rename
要するに、彼らplyr
はこのように使用してデータフレームのいくつかの列の名前を変更しています、
df <- data.frame(col1=1:3,col2=3:5,col3=6:8)
df
newNames <- c("new_col1", "new_col2", "new_col3")
oldNames <- names(df)
require(plyr)
df <- rename(df, c("col1"="new_col1", "col2"="new_col2", "col3"="new_col3"))
df
Jaredの書き込みを渡す際に、「[a] ndは、手動ではないように、名前を変更する2番目の引数を作成する際に創造的になることができます。」
私はこのように創造的にしようとしました、
df <- data.frame(col1=1:3,col2=3:5,col3=6:8)
df
secondArgument <- paste0('"', oldNames, '"','=', '"',newNames, '"',collapse = ',')
df <- rename(df, secondArgument)
df
しかし、それは機能しません、誰かが私がこれを自動化するのを手伝ってくれるでしょうか?
ありがとう!
更新日9月9日11:55:42PM
私は自分の質問をもっと具体的にすべきだと気づきました。
私が使用してplyr::rename
いるのは、実際の例では他の変数があり、名前を変更したい変数の位置が常にわからないためです。質問に更新を追加します
私の場合はこのように見えますが、100以上の変数があります
df2 <- data.frame(col1=1:3,col2=3:5,col3=6:8)
df2
df2 <- rename(df2, c("col1"="new_col1", "col3"="new_col3"))
df2
df2 <- data.frame(col1=1:3,col2=3:5,col3=6:8)
df2
newNames <- c("new_col1", "new_col3")
oldNames <- names(df[,c('col1', 'col3')])
secondArgument <- paste0('"', oldNames, '"','=', '"',newNames, '"',collapse = ',')
df2 <- rename(df2, secondArgument)
df2
明確にする必要があることがあればコメントを追加してください。