首页 > 解决方案 > 附加到数据框中的条目

问题描述

我想根据列名将字符附加到列条目。例如,我想添加_2019到属于以单词开头的列的所有条目"height"。我总共有 9 列。

例如,这有效(说明了我为前 2 列所做的操作),但我想知道是否有更简洁的方法:

new_df <- dataframe %>%
  mutate(height_p = paste0(height_p,"_2019")) %>%
  mutate(height_q = paste0(height_q,"_2019"))

我也尝试过mutate_at(starts_with("height"),vars(paste0("_2019")),但这只是用_2019替换了所有条目!

编辑:正如建议的那样,我添加了前两行和数据集中的前 3 列。

     height_p       height_q     height_s  
1  one_foot         two_feet     two_and_half_feet             
2  three_feet       one_foot      three_feet

标签: rdataframedplyr

解决方案


尝试 :

library(dplyr)
dataframe %>%  mutate_at(vars(starts_with("height")), ~paste0(., "_2019"))

或在基础 R 中:

cols <- grep("^height", names(dataframe))
dataframe[cols] <- lapply(dataframe[cols], function(x) paste0(x, "_2019"))

推荐阅读