计算矢量中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的次数?


你可以使用table()

> a <- table(numbers)
> a
numbers
  4   5  23  34  43  54  56  65  67 324 435 453 456 567 657 
  2   1   2   2   1   1   2   1   2   1   3   1   1   1   1 

然后你可以对它进行分类:

> a[names(a)==435]
435 
  3

或者将它转换为data.frame,如果你更愿意使用它:

> as.data.frame(table(numbers))
   numbers Freq
1        4    2
2        5    1
3       23    2
4       34    2
...

最直接的方法是sum(numbers == x)

numbers == x创建一个逻辑向量,在x出现的每个位置都为TRUE,并且在sum ,逻辑向量被强制为数字,从而将TRUE转换为1,将FALSE转换为0。

但是,请注意,对于浮点数最好使用类似sum(abs(numbers - x) < 1e-6)sum(abs(numbers - x) < 1e-6)


我可能会做这样的事情

length(which(numbers==x))

但是真的,更好的方法是

table(numbers)
链接地址: http://www.djcxy.com/p/24863.html

上一篇: Counting the number of elements with the values of x in a vector

下一篇: Concatenate item in list to strings