我有一个向量a<-replicate(100, round(runif(1)))
我想计算哪个更频繁0或1.
我可以使用table(a)
,但有更直接的方法来显示最常出现的数字吗?
我对表(a)的问题:
在程序中多次生成 a
,并且在每次迭代时记录最频繁的数字。如果我使用table(a)
,则第一列的计数为0
,第二列的计数为1
。现在,我使用b<-as.vector(table(a))
直接获取计数,并使用b[1]
作为0的数量,使用b[2]
作为1的数量。现在,如果它发生了向量中只有1或只有0,那么b的长度将为1,我将不知道我有100个1或100个。
答案 0 :(得分:3)
为什么不只是sum(a)
?如果sum(a) > 50
,则更频繁。这是布尔值的常用技术。
答案 1 :(得分:0)
您可以将表存储在data.frame
中,然后使用which.max
adf<-data.frame(table(a))
adf[which.max(adf$Freq),1]