【问题标题】:Bootstraoping using the boot package使用引导包进行引导
【发布时间】:2017-09-26 23:54:59
【问题描述】:

尝试使用 R 中的 boot 包,它并没有完成我想要的,它只是返回相同的值。我已阅读文档并检查了似乎相同的第一个示例,但我没有得到任何引导结果,只是返回了原始值。我的例子:

dat      <- data.frame(A = rnorm(100), B = runif(100))

booty    <- function(x, ind) sum(x$A)/sum(x$B)

boot_out <- boot(dat, booty, R  = 50, stype = "w")

【问题讨论】:

  • 试试sum(x$A[ind])/sum(x$B[ind])。您必须使用索引在引导函数中对数据集进行子集化。
  • @RuiBarradas 谢谢。您能否发布您的解决方案以便我接受?

标签: r statistics-bootstrap


【解决方案1】:

就像我在评论中所说,您必须使用索引(在本例中为 ind)来对传递给引导统计函数 sum(x$A[ind])/sum(x$B[ind]) 的数据集进行子集化。
完整的功能将变成

booty    <- function(x, ind) sum(x$A[ind])/sum(x$B[ind])

两个音符。
第一,stype = "i" 参数指出 booty 的第二个参数是索引向量,我相信这是您想要的,而不是权重向量 stype = "w"
此外,为了获得可重现的结果,应在调用 boot 或 RNG 函数之前设置 RNG 种子。类似于以下内容。

set.seed(4237)

dat      <- data.frame(A = rnorm(100), B = runif(100))

boot_out <- boot(dat, booty, R  = 50, stype = "i")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多