我合并了两组数据——假设一组与新妈妈有关,另一组与婴儿有关。在他们最初的数据帧中,他们没有在列中指定他们是母亲还是婴儿,但是现在他们被合并了,对于一些列,为了避免混淆,值得指定。我不一定要对所有列都这样做,因为在某些情况下,这是显而易见的,并且会使列名太长和笨拙,而在另一些情况下,它们两者都相关。
例如,我有这样的东西,除了更多的列:
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
当然,有一种方法可以做到这一点,而不需要函数!