正如Jared所建议的那样,我正在根据这个答案尝试优化 中的第二个参数。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写道:“你可以创造性地使第二个参数重命名,这样它就不会那么手动了。”
我试过像这样有创意,
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:42
我意识到我应该更具体地回答我的问题。
我正在使用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
如果有什么我需要澄清的,请添加评论。