我有一个载体
a<- c(0.2849579, 0.2849579, 0.2849579)
我想用:
tabulate(a,nbins=max(a))
但这会返回integer(0)
作为输出。
可以将表格用于带小数的数字吗?
答案 0 :(得分:1)
以下是一些随机数字,已复制
x = sample(runif(10), 1000, TRUE)
找到唯一(可选,舍入到有效数字)值,然后在唯一值表中找到每个x
的索引并将这些值列表
## x = signif(x, 6)
ux = sort(unique(x))
idx = match(x, ux)
n = tabulate(idx, nbins=length(ux))
最后,总结一下结果
df = data.frame(x=ux, n=n)
使用摘要查看所有计数
> head(df)
x n
1 0.02832152 108
2 0.04973473 90
3 0.19770913 96
4 0.31591234 103
5 0.59334322 97
6 0.64145901 98
或识别具有最大计数的值
> df[df$n == max(df$n), , drop=FALSE]
x n
10 0.9711141 127
答案 1 :(得分:0)
nbins
的值决定了数字的放置数量。由于max(a) = 0.2849579
将有零个分箱,因此您的结果是可以预期的。
tabulate
的帮助页面(使用?tabulate
调用)表示:
如果'bin'的元素是数字但不是整数,则它们被截断为最接近的整数。
根据您的问题,您可能需要先升级小数,然后应用tabulate
。或者你可能想要使用hist
或类似的东西。