小编Van*_*nce的帖子

计算卡方分布的极小数——数值精度

我正在使用pchisqR 中的函数来计算卡方分布的累积分布函数。我想计算非常小的值,这样1-pchisq(...)的值可以小于 2.2e-16(这是 R 数字格式的数字精度限制)。现在,这些非常小的值只是变成了 0。

我尝试过的事情:

  • 将数字显示选项设置为 22(最大)

  • 使用Rmpfr包来提高精度,但该数字格式不适用于该pchisq函数

  • 将 CDF 函数分解为其分量伽马函数,但这会导致类似的精度限制。关于如何计算我想要的任何想法?

背景:我使用Fisher 的方法来组合一堆 p 值。是的,我知道这些 p 值很小,但它实际上对我正在分析的内容很有用。

precision statistics r chi-squared

5
推荐指数
1
解决办法
281
查看次数

如何使用带有动态列名的 dplyr 中的“摘要”?

我正在使用summarizeR 中 dplyr 包中的函数从表中总结组均值。我想使用存储在另一个变量中的列名字符串动态执行此操作。

以下是“正常”方式,当然可以工作:

myTibble <- group_by( iris, Species)
summarise( myTibble, avg = mean( Sepal.Length))

# A tibble: 3 x 2
  Species     avg
  <fct>      <dbl>
1 setosa      5.01
2 versicolor  5.94
3 virginica   6.59

Run Code Online (Sandbox Code Playgroud)

但是,我想做这样的事情:

myTibble <- group_by( iris, Species)
colOfInterest <- "Sepal.Length"
summarise( myTibble, avg = mean( colOfInterest))
Run Code Online (Sandbox Code Playgroud)

我读过与dplyr编程页,我已经尝试了一堆的组合quoenquo!!.dots=(...),等,但我还没有想出这样做还以正确的方式。

我也知道这个答案,但是,1) 当我使用标准评估函数时standardise_,R 告诉我它已经贬值了,2) 这个答案看起来一点也不优雅。那么,有没有一种好的,简单的方法来做到这一点?

谢谢!

r dplyr summarize

3
推荐指数
1
解决办法
290
查看次数

标签 统计

r ×2

chi-squared ×1

dplyr ×1

precision ×1

statistics ×1

summarize ×1