计算矢量中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