0
我想用函数重命名数据框中的多个列。根据模式R重命名列
数据帧
nameAXX = c("car1", "car2", "car2", "car2", "car3", "car1")
brand = c("b1", "b2", "b2", "b2", "b3", "b1")
productionAXX = c(10, 10, 10, 40, 10, 5)
df = data.frame(brand, nameAXX, productionAXX)
循环本身的工作但如果我把它包在一个函数并调用它。
replaceColNamePattern <- function(df, pattern, replace){
for (name in colnames(df)){
if (regexpr(pattern, name) > 0){
names(df)[names(df)==name] <- gsub(pattern, replace, name)
}
}
}
呼叫功能
replaceColNamePattern(adf, "AXX", "")
是没可能的函数中重命名列?
你并不需要这样的'for'循环用'grep'即'GSUB(“AXX”尝试“”名(df)[grep(“AXX”,names(df))])' – akrun
'name(adf)< - gsub('AXX','',names(adf))' – Jaap
你试过了吗? – Jaap