繁体   English   中英

使用 paste0 改变列

[英]Mutating Columns with paste0

我正在寻找动态命名列。 我需要用新名称复制变量。 为什么 new_sepal_length_2 变量与 new_sepal_length 不同? 我怎样才能解决这个问题?

new_var = 'Sepal.Length'
iris %>% mutate(new_sepal_length = Sepal.Length,
new_sepal_length_2 = noquote(paste0(new_var)))

我们可以将其转换为符号 ( sym ) 并计算 ( !! )

library(dplyr)
library(stringr)
iris %>%
     mutate(new_sepal_length = str_c(!!rlang::sym(new_var), collapse=", "))

或者另一种选择是使用mutate_at ,它可以在vars获取字符串

iris %>%
   mutate_at(vars(new_var), list(new= ~ str_c(., collapse=", ")))

或者使用paste

iris %>%
   mutate(new_sepal_length = paste(!!rlang::sym(new_var), collapse = ", "))

paste0paste本身仅转换为character类。 也许,我们可能需要使用paste的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM