计算 R 中数据框中列中值的频率未给出预期结果

Counting frequency of value in a column in a data frame in R not giving expected results

我有两个数据框,一大一小。尺码如下。基本上,我希望看到一列中的值及其频率,并且我希望较大数据框中的数字比较小的数据框大得多。

> length(smalldf$col1)
[1] 5377
> length(largedf$col1)
[1] 56016

现在,当我尝试在其中的每一个中查找唯一值的数量时,我得到以下结果。现在,这个结果并不像预期的那样,我确定与较小的数据帧相比,较大的数据帧中有更多的 new(unique) 值。

> length(unique(smalldf$col1))
[1] 4697
> length(unique(largedf$col1))
[1] 4698

如果我打印出唯一值,我会得到 largedf,所有 4697 个元素都是 smalldf,最后加上 NA。

因此,我尝试打印较大数据框中的值,这些值不属于较小数据框的一部分,但我只是将所有列的值都设为 NA

> library('plyr')
> a1NotIna2 <- sqldf('SELECT * FROM largedf EXCEPT SELECT * FROM smalldf')
> a1NotIna2

给我所有反对 NA 的专栏

最后,我尝试找出大数据框中每个值的频率。 两者的结果相同

你可以试试

largedf <- totaldataset[Reduce(`|`, lapply(totaldataset[19:43], 
                     function(x) x=='4280')), ]