将两个向量连接到一个新的向量

时间:2014-04-06 19:16:31

标签: r vector dataframe concatenation

我正在尝试组合两个向量来创建一个新的向量。我试过这个(好吧,类似于此)。

y <- c(10,10,11,11)
m <- c(1,2,1,2)
my <- data.frame(m,y)
paste(my[1], my[2], sep = "")

我明白了:

# [1] "c(1, 2, 1, 2)c(10, 10, 11, 11)"`

当我使用collapse代替sep时,我会得到同样的结果。

我想得到:

# ["1 10","2 10","1 11","2 11"]

1 个答案:

答案 0 :(得分:2)

请尝试以下任何一种方式:

paste(my[[1]], my[[2]])
# [1] "1 10" "2 10" "1 11" "2 11"

paste(my[, 1], my[, 2])
# [1] "1 10" "2 10" "1 11" "2 11"

paste(my$m, my$y)
# [1] "1 10" "2 10" "1 11" "2 11"

do.call(paste, my)
# [1] "1 10" "2 10" "1 11" "2 11"

问题在于您实际上并没有选择该列中的值,而是选择单列data.frame

当然,您可以使用原始载体:

> paste(m, y)
[1] "1 10" "2 10" "1 11" "2 11"