Я пытаюсь использовать sub
для переименования столбцов в большом фрейме данных, но застрял с использованием аргументов replacement
и x
.У меня есть кадр данных, как показано ниже:
df <- as.data.frame(cbind(1:3, 4:6, 7:9, 10:12))
colnames(df) <- c("A_number", "A_frq", "B_number", "B_frq")
Мне нужно, чтобы имена столбцов были colnames(df) <- c("A", "frq A", "B", "frq B")
.В моих фактических данных есть еще много столбцов, поэтому я пытаюсь использовать шаблоны для переименования каждого столбца одновременно.
Я смог изменить A_number
и B_number
на A
и B
, используя это: colnames(df) <- sub("\\_number$", "", colnames(df))
.Но я пытался изменить A_frq
и B_frq
после этого и попытался colnames(df) <- sub("\\_frq$", "", paste("frq ", colnames(df)))
, который меняет все имена столбцов на frq A
или frq B
.Я также подумал об использовании colnames(df) <- sub("\\_frq$", "", colnames(df))
и добавлении frq
позже, но тогда все столбцы теперь A
или B
, и я не могу выбрать, какие из них были A_frq
или B_frq
.Есть ли простой способ использовать sub
, чтобы решить эту проблему?