2016-04-24 44 views
0

我有一个名为“sourceToDestination”的90k行data.frame。找到从一个数据帧出现在另一个数据帧中的行数R

enter image description here

许多在data.frame这些行的上述被复制。使用独特的命令,我创建了另一个data.frame,其中只列出了上述data.frame中的唯一行,并将其命名为“sourceToDestinationUnique”。

enter image description here

现在,在这个data.frame,显示独特的价值观,我想在最后列出数增加另一列。 count列指定了每个这些唯一行在原始data.frame中出现的次数。

我使用下面的命令来检查独特data.frame第1行多少次出现在原data.frame尝试:

> sourceToDestinationUnique[1,] %in% sourceToDestination 

但它给我这个奇怪的答案:

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 

请让我知道使用哪个命令?谢谢。

回答

1

我建议另一种方式,可以归档你的目的:

sourceToDestinationUnique <- aggregate(list(dupCount=rep(1,nrow(sourceToDestination))), sourceToDestination, length) 

让我们打印出DF sourceToDestinationUnique看到的结果。

+0

非常感谢。顺便提一下,假设我想知道'dupCount'列中所有行的索引号,即如果'dupCount'中的行的值为5,表示它发生5次。我如何知道这5个指标,以便我可以查找它们? –

+1

aggregate(x = list(dupIndices =(1:nrow(sourceToDestination))),sourceToDestination,cbind) – NangSaigon

+1

or:aggregate(x = list(dupIndices =(1:nrow(sourceToDestination))),sourceToDestination,FUN = function x)c(cbind(x),length(x))) – NangSaigon

相关问题