这是我的样本:
a = c("a","b","c")
b = c("1","2","3")
我需要自动连接a和b。结果应为“a 1”,“a 2”,“a 3”,“b 1”,“b 2”,“b 3”,“c 1”,“c 2”,“c 3”。< / p>
目前,我正在使用粘贴功能:
paste(a[1],b[1])
我需要一种自动方式来做到这一点。除了编写循环外,有没有更简单的方法来实现这个目标?
答案 0 :(得分:3)
c(outer(a, b, paste))
# [1] "a 1" "b 1" "c 1" "a 2" "b 2" "c 2" "a 3" "b 3" "c 3"
答案 1 :(得分:2)
你可以这样做:
c(sapply(a, function(x) {paste(x,b)}))
[1] "a 1" "a 2" "a 3" "b 1" "b 2" "b 3" "c 1" "c 2" "c 3"
已将 paste0
修改为paste
以匹配OP更新
答案 2 :(得分:2)
其他选项包括:
paste(rep.int(a,length(b)),b)
或:
with(expand.grid(b,a),paste(Var2,Var1))