我需要创建一个结合数字c(1:10)
和条款c("-KM","-COX")
的Vector,这样它就会变成这样:
c("1-KM", "1-COX", "2-KM", "2-COX", "3-KM", "3-COX", ...)
我尝试使用expand.grid来做到这一点,但是它返回一个数据帧,并且我需要它来返回一个向量。我该怎么做?
答案 0 :(得分:1)
尝试此版本:
apply(expand.grid(v1, v2), 1, function(x) trimws(paste0(x[1], x[2])))
[1] "1-KM" "2-KM" "3-KM" "4-KM" "5-KM" "6-KM" "7-KM" "8-KM"
[9] "9-KM" "10-KM" "1-COX" "2-COX" "3-COX" "4-COX" "5-COX" "6-COX"
[17] "7-COX" "8-COX" "9-COX" "10-COX"
数据:
v1 <- c(1:10)
v2 <- c("-KM", "-COX")
答案 1 :(得分:1)
在expand.grid
之后,您可以使用paste
从返回的vector
中获取data.frame
。
do.call(paste0, expand.grid(1:10, c("-KM","-COX")))
# [1] "1-KM" "2-KM" "3-KM" "4-KM" "5-KM" "6-KM" "7-KM" "8-KM"
# [9] "9-KM" "10-KM" "1-COX" "2-COX" "3-COX" "4-COX" "5-COX" "6-COX"
#[17] "7-COX" "8-COX" "9-COX" "10-COX"