【发布时间】:2019-03-18 01:30:53
【问题描述】:
我可以合并两个数据
df1 <- read.table(text="info var1m pos_var1
1 C001 NA NA
2 C002 NA NA
3 C003 0.1790000 1
4 C004 NA NA
5 C007 0.0645000 1
6 C010 0.3895000 1
11 C016 0.2805000 1
12 C017 0.7805001 1", header=T, stringsAsFactors=F)
and this
df2 <- read.table(text="info var1 var2
1 C003 0.1790 1.1305
2 C007 0.0645 0.2985
3 C010 0.3895 0.1705
4 C016 0.1740 0.3980
5 C017 0.4840 0.3375
6 C022 0.1740 0.3980
7 C023 0.4840 0.3375", header=T, stringsAsFactors=F)
df3 <- read.table(text="info var1 var2
5 C017 0.4840 0.3375
6 C022 0.1740 0.3980
7 C023 0.4840 0.3375", header=T, stringsAsFactors=F)
我只是举一个我试图合并的三个数据集的例子。我不应该将它们两个两个结合起来,因为那样我会丢失一些信息
例如,为了将其中两个结合起来,我可以执行以下操作
mydf <- inner_join(df1,df2,'info')
然后将第三个、第四个等数据集组合到其中。但是,如果我在 df1,df2 和 combine 中没有相互数据,它将被丢弃,但在 df1 和 df3 中可能有类似的数据。
有没有一种方法可以在不丢失信息的情况下合并尽可能多的数据,但保留所有数据中的所有相互信息?
【问题讨论】:
-
Reduce(function(x, y) inner_join(x,y,'info'), list(df1, df2, df3))? -
我不确定你想要什么,但
merge和all=TRUE可能有用。 -
@Ronak Shah 这带来了三者之间相互的一个,我想带来 df1 和 df2 、 df1 和 df3 、 df2 和 df3 之间相互的其他人,而不仅仅是那个三者之间
-
您能否包含给定示例的预期输出?
标签: r