合并多个R文件

时间:2014-06-19 07:21:46

标签: r

我有10个包含1000行的文本文件。

示例:第一个文件:

V1  V2
1   2
2   3
10 20
1   4    
.....

第二档:

V1  V2
1   2
8   10
.....

我想要的是一个包含12列的最终文件。前两列表示关系,后两列表示不同的文件(如果该对存在则表示为1,如果不存在则表示0)例如:

最终档案:

V1  V2  V3  V4  V5  V6  V7  V8  V9  V10  V11  V12
1   2   1   1   0   0   1    0   1   1    0     1
2   3   1   0   1   1   0    0   0   1    1     0

现在,经过搜索,我找到了,

# Create dummy data
L <- replicate(5, expand.grid(1:10, 1:10)[sample(100, 10), ], simplify=FALSE)

# Add a column to each data.frame in L. 
# This will indicate presence of the pair when we merge.
L <- lapply(seq_along(L), function(i) { 
  L[[i]][, paste0('DF', i)] <-  1
  L[[i]] 
})

# Merge all the things 
# (hat-tip to @Charles - http://stackoverflow.com/a/8097519/489704)
L.merged <- Reduce(function(...) merge(..., all=T), L)

head(L.merged)

#   Var1 Var2 DF1 DF2 DF3 DF4 DF5
# 1    1    2  NA  NA  NA   1  NA
# 2    1    5   1  NA  NA  NA   1
# 3    1    9  NA  NA  NA   1  NA
# 4    1   10  NA  NA   1   1  NA
# 5    2    5  NA  NA   1  NA  NA
# 6    2    6  NA   1  NA   1  NA

然而,问题是,这并没有显示那些具有全部NA的行。例如:

# 7    4    5  NA  NA  NA  NA  NA

0 个答案:

没有答案