Rozważ następujące:

a = 1:10
paste("The list is:", a)

Wynik byłby taki:

 [1] "The list is: 1"  "The list is: 2"  "The list is: 3"  "The list is: 4" 
 [5] "The list is: 5"  "The list is: 6"  "The list is: 7"  "The list is: 8" 
 [9] "The list is: 9"  "The list is: 10"

Rozwiązałem go przez:

paste("The list is:", paste(a, collapse=", "))
# "The list is: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"

Czy jest lepszy pomysł?

9
Ali 19 październik 2012, 00:14

2 odpowiedzi

Najlepsza odpowiedź

Myślę, że to zależy od tego, po co chcesz. Jeśli wklejasz to razem, aby wyświetlić w konsoli R, powiedzmy jako notatkę lub informację, to cat() działa nieco bardziej intuicyjnie:

R> cat("The list is:", a, "\n")
The list is: 1 2 3 4 5 6 7 8 9 10

Lub

R> cat("The list is:", a, fill = TRUE)
The list is: 1 2 3 4 5 6 7 8 9 10

Jeśli chcesz, aby rzeczywisty ciąg znaków był obiektem R, nie sądzę, że będziesz dużo prostszy niż idiom paste(), który pokazujesz.

12
Gavin Simpson 19 październik 2012, 01:17

Możesz użyć:

paste(c("The list is:", a), collapse= " ")
1
jormaga 25 luty 2019, 12:53