小编Jon*_*nas的帖子

在RStudio中的data.table()中使用plot()时,将使用错误组的值

我想生成一个分开的图表.在图的上半部分是组的值a,在较低的一个组中b应该使用组的值.我正在使用data.table()这个.这是我用来生成示例并设置图形输出的代码:

library(data.table)
set.seed(23)
Example <- data.table('group' = rep(c('a', 'b'), each = 5), 'value' = runif(10))
layout(1:2)
par('mai' = rep(.5, 4))
Run Code Online (Sandbox Code Playgroud)

在通常的r控制台中运行以下行时,正确的值用于绘图.在Rstudio中运行相同的代码时,第二组的值将用于两个图表:

Example[, plot(value, ylim = c(0, 1)), by = group] # Example 1
Example[, .SD[plot(value, ylim = c(0, 1))], by = group] # Example 2
Run Code Online (Sandbox Code Playgroud)

.SD[]示例2 的子集data.table 中添加逗号时,也会在Rstudio中生成正确的输出:

Example[, .SD[, plot(value, ylim = c(0, 1))], by = group] # Example 3
Run Code Online (Sandbox Code Playgroud)

使用时,barplot()而不是plot()Rstudio使用正确的值:

Example[, barplot(value, ylim = c(0, 1)), …
Run Code Online (Sandbox Code Playgroud)

r rstudio data.table

7
推荐指数
1
解决办法
427
查看次数

Kolmogorov-Smirnov检验:当存在关系时,应用于离散变量的双样本检验的精确p值

我从不同的地方得到了两个样本.我感兴趣的参数是离散的(频率).我对两个站点进行了模拟,因此我知道每个站点的随机分布的概率.由于我的模拟,我知道我的参数与其平均值的偏差不是正常分布的,因此我进行了参数测试.我检查了单样本Kolmogorov-Smirnov,如果样本可能来自这些随机分布(示例数据,不是真实的):

sample1 <- rep(1:5, c(25, 12, 12, 0, 1))
rand.prob1 <- c(.51, .28, .111, .08, 0.019)
StepProb1 <- stepfun(0:4, c(0, cumsum(rand.prob1)), right = T)
dgof::ks.test(sample1, StepProb1)

sample2 <- rep(1:5, c(19, 13, 10, 5, 3))
rand.prob2 <- c(.61, .18, .14, .05, 0.02)
StepProb2 <- stepfun(0:4, c(0, cumsum(rand.prob2)), right = T)
dgof::ks.test(sample2, StepProb2)
Run Code Online (Sandbox Code Playgroud)

在下一步中,我想检查两个站点的样本是否可能来自相同的分布.KS-test(包statsdgof)的两个实现都发出警告,因为我的样本有关系:

stats::ks.test(sample1, sample2)
dgof::ks.test(sample1, sample2)
Run Code Online (Sandbox Code Playgroud)

如果我正确理解Dufour和Farhat(2001),有一种方法可以通过蒙特卡罗模拟的平局来计算精确的p值.如果我正确理解dgof包的包描述,它的Monte Carlo模拟的实现仅适用于单样本测试.

所以我的问题:当有关系存在时,是否有人知道如何计算应用于离散变量的双样本Kolmogorov-Smirnov检验的R中的精确p值?

或者(虽然与R没有特别关联):如果没有人知道如何以可承受的工作量来做这件事,我会选择未经修正的p值,因此要小心地讨论结果.但p值低于0.0001.我其实并没有过分关注它.但是我知道什么......你认为这是对的还是我在这种情况下犯了一个严重的错误?

在此先感谢,我已经感谢您在这里阅读.

r

6
推荐指数
1
解决办法
2301
查看次数

标签 统计

r ×2

data.table ×1

rstudio ×1