如何将向量c('foo','bar','baz')转换为c('foo_X','foo_Y','bar_X','bar_Y','baz_X','baz_Y')?

如何将向量c('foo','bar','baz')转换为c('foo_X','foo_Y','bar_X','bar_Y','baz_X','baz_Y')?,r,vector,R,Vector,这是一个简单的向量: vec <- c('foo', 'bar', 'baz'); 但是,这将返回矩阵而不是向量: foo bar baz [1,] "foo_X" "bar_X" "baz_X" [2,] "foo_Y" "bar_Y" "baz_Y" 如何创建所需的向量?使用外部粘贴0 cresult也有效。 foo bar baz [1,] "foo_X" "bar_X" "baz_X" [2,] "foo_Y"

这是一个简单的向量:

vec <- c('foo', 'bar', 'baz');
但是,这将返回矩阵而不是向量:

     foo     bar     baz    
[1,] "foo_X" "bar_X" "baz_X"
[2,] "foo_Y" "bar_Y" "baz_Y"
如何创建所需的向量?

使用外部粘贴0

cresult也有效。
     foo     bar     baz    
[1,] "foo_X" "bar_X" "baz_X"
[2,] "foo_Y" "bar_Y" "baz_Y"
vec <- c('foo', 'bar', 'baz')
suffix <- c("_X", "_Y")
c(outer(vec, suffix, paste0))
#[1] "foo_X" "bar_X" "baz_X" "foo_Y" "bar_Y" "baz_Y"