2011-07-14 7 views
26

Say istnieje wektor x:Czy istnieje sposób na wklejenie elementów wektora w R bez użycia pętli?

x <- c("a", " ", "b") 

i chcę szybko przekształcić w jeden ciąg znaków "a b". Czy istnieje sposób, aby to zrobić bez pętli? Wiem z pętlą mogę to zrobić:

y <- "" 
for (i in 1:3){ 
    paste(y, x[i], sep = "") 
} 

> y 
[1] "a b" 

ale będę musiał zrobić to na wiele, wiele powtórzeń i konieczności pętli nad tym i zastąpić oryginał nowa za każdym razem, by stać się bardzo czasochłonne . Zawsze chcę być w stanie zrobić coś takiego:

x <- paste(x) 

jakby pasta() może elegancko podzielić na elementy samego wektora, ale wiem, że nie mogę. Czy istnieje inna funkcja lub bardziej kreatywny sposób użycia paste(), który może to zrobić wydajnie?

Odpowiedz

57

Wystarczy użyć collapse argument:

paste(x,collapse="") 
+0

dziękuję! Ciągle myślałem, że powinno w tym uczestniczyć coś zwanego "collapse", ale nie mogłem znaleźć żadnej dokumentacji na ten temat. – Max

+4

Jest tam w "? Wklej"! ;) Jeśli kiedykolwiek mylisz się o funkcji typu "? Function" w konsoli, aby uzyskać dostęp do plików pomocy. – joran

+0

Tak, chyba nie przyszło mi do głowy, że to byłby argument z wklejania. Właśnie wtedy, gdy myślisz, że znasz funkcję ...: P – Max

Powiązane problemy