在R语言中如何将字符串向量快速转为数据框的空列?
一次性给数据框添加多个空列的方法
你可以用以下几种方法一次性完成需求,不用逐个调用cbind:
Base R 极简实现
直接通过索引赋值的方式,一行代码就能新增所有指定的空列:
current_data[my_new_cols] <- NA
运行后current_data就会自动添加n_a、n_b、n_c三列,所有值为NA,和你想要的desired_output完全一致。
dplyr 实现(tidyverse 风格)
如果你习惯用tidyverse工具链,有几种写法可选:
方法1:结合bind_cols创建空列 tibble 后合并
current_data %>% bind_cols(tibble(!!!set_names(rep(list(NA), length(my_new_cols)), my_new_cols)))
方法2:用mutate配合across(dplyr 1.0.0+版本适用)
current_data %>% mutate(across(all_of(my_new_cols), ~NA))
方法3:mutate配合!!!符号的简洁写法
current_data %>% mutate(!!!set_names(rep(NA, length(my_new_cols)), my_new_cols))
以上几种方法都能一次性完成多空列的添加,无需逐个处理。
内容的提问来源于stack exchange,提问作者J.Sabree
相关产品推荐
相关产品推荐

