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