将两列组合成一个R.

时间:2014-03-20 04:21:37

标签: string r text merge

我正在努力解决的一个简单问题。我在R工作,并有一个像这样的数据框:

>df
V1      V2
Todd    SAFEZONE
Mike    COOLDOWN
Larry   CHICKGUY

我希望将两列合并,以便我得到一个包含一列的数据框,其中共享列的两个因子一个接一个地结束:

>df2
V1
Todd
SAFEZONE
Mike
COOLDOWN
Larry
CHICKGUY

最有效的方法是什么?对不起,如果过于简单,我需要学习一些文本操作技巧。

提前致谢。

2 个答案:

答案 0 :(得分:3)

追加(或提取)两列,使它们并排,然后将矩阵展平为单个向量。展平按行进行,因此这将生成一个向量,其元素从每列交替出现。这是一个演示:

x1=c('a','b','c')
x2=c('x','y','z')
matrix(rbind(x1,x2),ncol=1)

    [,1]
[1,] "a" 
[2,] "x" 
[3,] "b" 
[4,] "y" 
[5,] "c" 
[6,] "z" 

答案 1 :(得分:2)

生成的列名称很容易更改

> df2 <- do.call(rbind, lapply(1:nrow(df), function(x) t(df[x,])))
> rownames(df2) <- NULL
> df2
##      1         
## [1,] "Todd"    
## [2,] "SAFEZONE"
## [3,] "Mike"    
## [4,] "COOLDOWN"
## [5,] "Larry"   
## [6,] "CHICKGUY"