简单合并四倍观察数

时间:2019-06-11 00:46:58

标签: r merge

原来,我不应该信任我的数据源。他们留下了重复的观察结果,没有像我想象的那样清理数据。所以这个问题没有意义。

我正在尝试合并两个数据帧。过去我做过很多次,都取得了很大的成功(消除了错别字之后)。我一直在用这个把头撞在墙上。我找不到问题。一个文件只有6列,其中4列在较大的文件中重复。我需要通过这4列的唯一组合进行合并。例如,2014年在站点X的Transect A处的工厂1应该只有1行。每个Transect和Site都有分配给每个植物的唯一前缀,但是稍后我需要按这4列进行子集化,因此我想对其进行维护。

我已经尝试了cbind()和merge()。在合并中,我还使用了all = true或false,因为我知道某些行基本上仅由NA填充,并且不对分析添加任何内容。

dat=cbind(dens, df)
dat=cbind(dens, df), by=c("Year", "site", "transect", "PlantID"))

dat=merge(dens, df, by=c("PlantID","Year", "site", "transect"), all=F)

这些数据文件的长度都只有7000多个观察值。但是当我绑定或合并时,我得到相同的df,远远超过10,000个观测值。我已经查看了输出,其中很多人已经增长了三倍。我确信这是我很想念的非常简单的事情,但是在这一点上,我需要新鲜而知识渊博的眼睛。 这是指向Google云端硬盘上两个数据文件的链接。 https://drive.google.com/drive/folders/1JQXSadqxQBOXM5AAOFAr-BmuoX9TXKXh?usp=sharing

1 个答案:

答案 0 :(得分:0)

有两件事,当您合并时,通常只使用一个主键进行合并,因为多个键很容易出现问题。根据您的描述,听起来好像您所使用的键不一样。例如,一个数据集的列为Col1,而另一个数据集的列为col1或更糟,它们是不同的数据类型,但它们在屏幕上看起来是相同的。也许会尝试从您的数据集中获取一小部分数据集,然后尝试合并这些数据集,然后再对其进行整个处理,然后感到惊讶,这是行不通的。