Такое ощущение, что это должно быть довольно просто!Извиняюсь, если мне не хватает очевидного ответа - я не нашел его при поиске.
Я объединил два набора данных - скажем, один касается новых матерей, а другой - детей.В своих исходных данных они не указывали в столбцах, были ли они матерями или младенцами, но теперь они объединены, для некоторых столбцов стоит указать, чтобы избежать путаницы.Я не обязательно хочу делать это для ВСЕХ столбцов, потому что в некоторых случаях это очевидно и делает имя столбца слишком длинным и неуклюжим, а в других они относятся к обоим.
Так, например, у меня есть что-то вроде этого, за исключением гораздо большего количества столбцов:
family <- c("Ali", "Baker", "Cruz")
sex <- c("FEMALE", "MALE", "FEMALE")
first_name <- c("Aylin", "Betty", "Camila")
age <- c(30, 27, 36)
area <- c("Aberdeen", "Birmingham", "Cardiff")
births_df <- data.frame(family, sex, first_name, age, area)
В этом примере первый и последний столбцы относятся к обеим сторонам, второй к ребенкуа остальное маме.
Я хочу переименовать столбцы 3 и 4, чтобы они говорили «mother_» перед существующим именем столбца.
Очевидно, что я могу сделать это индивидуально, как показано ниже, но это не совсем реально, если мне придется повторить это для большого количества столбцов.
births_df <- rename(births_df, c("first_name" = "mother_first_name",
"age" = "mother_age"
))
Я попытался написать функцию длясделать это:
rename_cols_mother <- function(data_f, column_name) {
plyr::rename(data_f, c(column_name = paste("staff_", column_name)))
}
Однако я довольно плохо знаком с функциями, и я явно делаю что-то не так, когда я получаю следующую ошибку, когда пытаюсь затем использовать функцию:
births_df <- rename_cols_mother(births_df, c("first_name", "age"))
Следующие from
значения отсутствовали в x
: column_name1, column_name2
И, конечно, может быть способ сделать это без необходимости использования функции!