用“ +” r分割字符串

时间:2019-04-25 15:42:24

标签: r split

我想将此变量组合转换为字符串,然后用“ +”将其拆分。

例如:

list = c('apple', 'dog', paste0('Day', 1:5), paste0('Name', 1:5))

理想的结果是

"apple + dog + Day1 + Day2 + ...."

以防万一有人对动机感兴趣:我正在使用不同的预测变量进行回归,并且正在获取列名并将其组合为典型的回归表达式,例如lm (Y~ apple + dog + Day1)

谢谢!

2 个答案:

答案 0 :(得分:2)

我们需要使用pastecollapse来将元素vector更改为单个字符串

str1 <- paste(list, collapse= " + ")

或者使用str_c中的stringr

library(stringr)
str1 <- str_c(list, collapse = " + ")

获得paste输出后,请在lm中使用它

lm(paste0("Y ~ ", str1), data = dat)

答案 1 :(得分:1)

您需要将pastecollapse参数一起使用,以在一个或多个向量的元素之间添加字符。

所以代码

paste(c('apple', 'dog', paste0('Day', 1:5), paste0('Name', 1:5)), collapse = " + ")

会产生

"apple + dog + Day1 + Day2 + Day3 + Day4 + Day5 + Name1 + Name2 + Name3 + Name4 + Name5"

编辑:@akrun在写我的答复时回答了这个问题:-(