Für die ersten Nicht paste()
Antwort, können wir uns ansehen stringr::str_c()
(und dann toString()
unten). Es gibt sie noch nicht so lange wie diese Frage, daher halte ich es für sinnvoll zu erwähnen, dass es sie auch gibt.
Wie Sie sehen können, ist die Anwendung sehr einfach.
tmp <- cbind("GAD", "AB")
library(stringr)
str_c(tmp, collapse = ",")
# [1] "GAD,AB"
Nach der Beschreibung in der Dokumentationsdatei passt es gut zu diesem Problem.
Um zu verstehen, wie str_c funktioniert, müssen Sie sich vorstellen, dass Sie eine Matrix von Zeichenketten aufbauen. Jedes Eingabeargument bildet eine Spalte und wird unter Anwendung der üblichen Umformungsregeln auf die Länge des längsten Arguments erweitert. Die Zeichenfolge sep wird zwischen jeder Spalte eingefügt. Wenn collapse NULL ist, wird jede Zeile zu einer einzigen Zeichenkette zusammengefaßt. Ist der Wert nicht NULL, wird diese Zeichenkette am Ende jeder Zeile eingefügt, und die gesamte Matrix wird zu einer einzigen Zeichenkette kollabiert.
Addierte 4/13/2016 : Es ist nicht genau dasselbe wie die von Ihnen gewünschte Ausgabe (zusätzliches Leerzeichen), aber das hat auch noch niemand erwähnt. toString()
ist im Grunde eine Version von paste()
con collapse = ", "
fest kodiert, so dass Sie Folgendes tun können
toString(tmp)
# [1] "GAD, AB"
0 Stimmen
Die meisten Antworten hier versagen, wenn die Zeichenketten Vektoren sind, wie die Antwort von @RichardScriven zeigt.
0 Stimmen
@smci was ist mit der kleinen Antwort, die ich gepostet habe? irgendwelche Vorschläge, um sie zu verbessern?