我有一个数字向量:
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值在向量中出现的次数?
我有一个数字向量:
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包。在我看来,比餐桌方便多了。