2017-09-01 4 views
1

In R habe ich zwei Zeichenketten und einen Vektor, der mehrere Zeichenketten enthält.Wie man Paste benutzt, um Formel zu erhalten

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

Wie kann ich diese zusammen fügen, so dass ich bekommen:

"str1 + str2 + str3 + str4 + str5" 

Eine einfache Anwendung von Paste() wie

paste(str1, str2, strvec, sep = "+") 

nicht

+2

noch besser 'reformulate' zu ​​verwenden. – lmo

+0

Mögliche Duplikate: https://stackoverflow.com/questions/4951442/formula-with-dynamic-number-of-variables und https://stackoverflow.com/questions/9238038/passing-a-vector-of-variables- In-lm-Formel. – lmo

Antwort

3

I funktioniert Ich bin mir nicht sicher, welchen du meinst (Namen oder Vektoren), also hier sind beide. Sie können ls verwenden das Muster str[0-9]+ von Ihrem globalen Umfeld zu erfassen oder mget(ls(...)) die tatsächliche Zeichenfolge zu erhalten., Das heißt

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" 
Verwandte Themen