我有一个数字向量:

numbers <- c(4,23,4,23,5,43,54,56,657,67,67,435,
         453,435,324,34,456,56,567,65,34,435)

我如何让R计算x值在向量中出现的次数?


当前回答

您可以在下面一行中将数字更改为您希望的任何数字

length(which(numbers == 4))

其他回答

最直接的方法是求和(numbers == x)。

numbers == x创建一个在x出现的每个位置都为TRUE的逻辑向量,当求和时,逻辑向量被强制转换为numeric,将TRUE转换为1,FALSE转换为0。

但是,请注意,对于浮点数,最好使用如下格式:sum(abs(numbers - x) < 1e-6)。

我可能会这样做

length(which(numbers==x))

但实际上,更好的方法是

table(numbers)

您可以在下面一行中将数字更改为您希望的任何数字

length(which(numbers == 4))

这里有一个快速而肮脏的方法:

x <- 23
length(subset(numbers, numbers==x))

也有计数(数字)从plyr包。在我看来,比餐桌方便多了。