我有一个简化的数据框,如下所示:
A<-c(1,2,3,4,5)
B<-c(2,3,4,5,6)
C<-c(3,4,5,6,7)
D<-c(4,5,6,7,8)
DF<-data.frame(A,B,C,D)
我想在R中编写一个函数(从第一列开始)一次读入两列,找到重叠,并创建一个新的完整系列。然后循环此函数以读取下一列,依此类推......
所以工作流程就像
Read in columns A and B, find the match and stitch together
Result is new variable X= 1,2,3,4,5,6
Read in new variable X and column C, find the match and stitch together
Result is new variable X= 1,2,3,4,5,6,7
Read in new variable X and column D, find match and stitch together
Result is new variable X= 1,2,3,4,5,6,7,8
到目前为止,我在一个单独的线程中以fun(Col_1,Col_2)的格式给出了一个更复杂的函数,但是我在整个数据框架上循环它时遇到了问题,我希望能够在这里解决这个问题。
答案 0 :(得分:3)
听起来像是在寻找Reduce()
。你正在进行的操作就是工会。
Reduce(union, DF)
这里将data.frame DF
视为一个向量列表,就像你正在做的那样。