Ich möchte mehrere Spalten in einem Datenrahmen mit einer Funktion umbenennen.Spalten umbenennen basierend auf Muster R
Datenrahmen
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)
Die Schleife selbst funktioniert, aber es nicht, wenn ich es in einer Funktion wickeln anzurufen.
replaceColNamePattern <- function(df, pattern, replace){
for (name in colnames(df)){
if (regexpr(pattern, name) > 0){
names(df)[names(df)==name] <- gsub(pattern, replace, name)
}
}
}
Anruffunktion
replaceColNamePattern(adf, "AXX", "")
Ist es nicht möglich, die Spalte in einer Funktion zu umbenennen?
Sie haben nicht eine 'for' Schleife für das Versuchen mit' grep' dh 'gsub („AXX“,„“müssen, Namen (df) [grep ("AXX", Namen (df))]) ' – akrun
' Namen (adf) <- gsub ('AXX', '', Namen (adf)) ' – Jaap
hast du es versucht? – Jaap