2017-09-01 125 views
1

在R中,我有兩個字符串和一個包含多個字符串的向量。如何使用粘貼獲得公式

str1 <- "this_guy" 
str2 <- "that_guy" 
strvec <- c("str3", "str4", "str5") 

我怎麼能貼上這些結合在一起,使我得到:

"str1 + str2 + str3 + str4 + str5" 

糊的直接應用()如

​​

不起作用

+2

更好的使用'reformulate'。 – lmo

+0

可能的重複:https://stackoverflow.com/questions/4951442/formula-with-dynamic-number-of-variables和https://stackoverflow.com/questions/9238038/passing-a-vector-of-variables-進入lm公式。 – lmo

回答

3

我我不確定你的意思(名字或向量),所以這裏都是。您可以使用ls從全局環境或mget(ls(...))拍攝模式str[0-9]+獲得實際的字符串,即

paste(c(ls(pattern = 'str[0-9]+'), strvec), collapse = ' + ') 
#[1] "str1 + str2 + str3 + str4 + str5" 

paste(c(mget(ls(pattern = 'str[0-9]+')), strvec), collapse = ' + ') 
#[1] "this_guy + that_guy + str3 + str4 + str5"