如何使用R中的“bootstrap函数”计算置信区间

2023-12-14

我正在尝试计算R中的置信区间。由于一些特殊原因,我必须使用“bootstrap”包中的函数来计算。(这意味着我不能使用“boot”包中的函数。)

这是我的代码。

我正在做的是尝试计算 Pearson 相关系数,然后应用 Bootstrap 方法(B = 100)来获得相关系数的估计。但我不知道如何构建 95% 的置信区间。

library(bootstrap) 
data('law')

set.seed(1)
theta <- function(ind) {
  cor(law[ind, 1], law[ind, 2], method = "pearson")
  }
law.boot <- bootstrap(1:15, 100, theta) 
# sd(law$thetastar)
percent.95 <- function(x) {
  quantile(x,  .95)
  }
law.percent.95 <- bootstrap(1:15, 100, theta, func=percent.95)

抱歉,如果我没有说清楚或标记错误的标签。 两次抱歉没有生成数据集(现在提供了),并感谢罗兰教授指出这一点。非常感谢!


通常,在引导之后,我们使用 2.5% 和 97.5% 百分位数作为 95% 置信区间(因为我们从每一边减去 α/2=.025)。也可以看看@索塔尔的 answer以及答案下的评论。

R <- 1e5 - 1  ## number of bootstrap replications
est <- with(law, cor(lsat, gpa))  ## naïve correlation

theta <- function(ind) cor(law[ind, 1], law[ind, 2], method="pearson")
set.seed(1)
B1 <- bootstrap::bootstrap(seq(nrow(law)), R, theta) 
(ci1 <- c(estimate=est, quantile(B1$thetastar, c(.025, .975))))
#  estimate      2.5%     97.5% 
# 0.7763745 0.4594845 0.9620884 

这是从头开始的替代方法:

theta2 <- function(x) with(x, cor(lsat, gpa))
set.seed(1)
B2 <- replicate(R, theta2(law[sample(nrow(law), nrow(law), replace=TRUE), ]))
(ci2 <- c(estimate=est, quantile(B2, c(.025, .975))))
#  estimate      2.5%     97.5% 
# 0.7763745 0.4607644 0.9617970 

最后一种方法是使用boot包中有一个boot.ci功能:

theta3 <- function(data, k) cor(data[k, ])[1,2]
set.seed(1)
B3 <- boot::boot(law, theta3, R=R)
(ci3 <- c(est, boot::boot.ci(B3, type='perc')$percent[4:5]))
# [1] 0.7763745 0.4593727 0.9620923
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用R中的“bootstrap函数”计算置信区间 的相关文章

随机推荐

  • 是否可以在一页中多次运行一个 Angular 2 应用程序?

    我正在从 asp net web 表单迁移到 Angular 4 我正在一步一步地进行 更换一个零件并将其投入生产 我在页面中多次加载相同的 Angular 应用程序时遇到问题 例如用代码
  • 删除奇怪的字体编码

    您好 我希望这是一个简单的问题 我正在通过 API 加载一些简单的数据 但是有些用户已经将其用户名设置为如下所示的精美字体 如何使用 PHP 将其转换为简单的标准编码 以便它显示为 Web Reposts 谢谢
  • 无法从 python os.path.abspath 获取有效的路径名

    我有以下包含文件绝对目录的字符串 D Sample Project testXcl data xlsx 将其传递到 os path abspath 时 我得到以下结果 D Sample Project testXcl data xlsx 发
  • Firebase 项目 URL 出现错误:添加 www 会导致“您的连接不是私有的”

    我有一个 firebase 项目 除非我使用以下命令输入我的项目的 url 否则该项目可以正确加载www 在前 这有效 https myproject firebaseapp com 这会返回一个错误 https www myproject
  • 根据条件创建新的 numpy 数组

    我有 2 个 numpy 数组 aa np random rand 5 5 bb np random rand 5 5 当aa和bb都超过0 5时 如何创建一个值为1的新数组 由于关注性能并使用两种方法 因此可以添加一些方法 一种方法是获取
  • 无法导入pygame

    我已经在我的 Mac 上安装了 pygames 使用 pygame org 站点上找到的以下软件包中的安装程序 pygame 1 9 1release python org 32bit py2 7 macosx10 3 dmg 我已经使用
  • 访问 asp.虚拟机外部的.net开发服务器

    伙计们 我已经用头撞桌子 而不是电脑 好几个小时了 我在并行虚拟机中运行 VS 2008 如果使用本地主机 我可以访问虚拟机中的开发服务器 如果我使用虚拟机的指定IP或尝试从外部访问它 则不起作用 所有防火墙均已关闭 并且我验证可以从外部访
  • 如何在uiimage中绘制文本?

    我想设置我的文字Sold Out到 UIimage 的中心 但它不在中心 func textToImage drawText text NSString inImage image UIImage atPoint point CGPoint
  • SQLite 尝试选择时出现异常,没有这样的列

    我有以下数据库助手类 public int studentExists String studid Cursor dataCount mDb rawQuery select count from usertable where KEY ST
  • 使用默认内容初始化tinyMCE

    我有一个简单的问题tinyMCE 我有一个文本区域 其中id mainbuffer 以及函数tinyMCE get id setContent data 仅在被调用时有效onclick function 来自链接 并且在加载页面时不起作用
  • ListView拖放,错误“IndexOutOfBoundsException:索引-1超出长度4的范围”

    我正在为 ListView 实现拖放系统 我从这段代码中得到了灵感 https gist github com jewelsea 7821196 这就是我所做的 package com example ratatouille23 View
  • PHP四舍五入,圆/天花板/地板?

    假设我有以下两个数字 a 77 5 b 74 5 我如何得到以下内容 a 80 b 70 我看过圆形 天花板和地板 但我不知道该怎么做 谢谢 PHP 支持负精度round功能 a round a 1 这与写作几乎相同 a round a 1
  • 如何在 python 中编写自定义编码来清理数据?

    我知道我以前在另一份工作中做过这样的事 但我不记得我做了什么 我有一个数据库 里面充满了 varchar 和 memo 字段 这些字段是从 Office 网页以及谁知道其他地方剪切和粘贴的 这开始给我带来编码错误 由于 Python 有一个
  • IntersectionObserver 和位置:绝对

    当观察到的元素有时 IntersectionObserver 似乎不起作用position absolute并且根不是 视口 我在这里错过了什么吗 尝试删除position absolute查看预期结果 let intersectionRo
  • python 可以处理未计算的表达式参数吗?

    我想将一条语句传递给 python 函数 该语句只应在我在函数中执行其他操作后执行 默认情况下 python 计算语句 然后将其结果作为参数传递 有什么办法可以改变这种行为吗 我发现的唯一方法是将语句包装在函数中 然后传递该函数 大多数 P
  • 如何将 LinearGradient 添加到垂直 SVG 线[重复]

    这个问题在这里已经有答案了 我正在尝试为线条的笔划添加渐变 该线条在顶部淡出 但没有运气 实际上 我的工作原理是这样的 但即使在 Chrome 中 某些 SVG 尺寸也会出现浏览器问题 其中渐变会中断并且是固定的
  • MacOS X 10.6.2 上的 Perl:GDBM_File 丢失,如何安装或解决?

    当我需要 Perl 模块时 我通常使用 CPAN 效果很好 但这次不是 我想使用MARC Charset 但是这个使用GDBM File 而且我似乎无法从CPAN安装GDBM File CPAN 发现一切正常 但尝试安装它时 它开始安装完整
  • 为什么 useState 会让组件渲染两次?

    也许你们中的一些人可以让我睁开眼睛 我不明白为什么在这段代码中 https codesandbox io s use state renders twice 6r1xl组件 App 在安装并单击按钮时渲染两次 console log 被调用
  • Qt 中的自定义圆形进度条[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我可以在覆盖时在 qt 中执行循环进度条paintEvent小部件并绘制圆形进度条 但在主圆形进度条后面的第二个圆形进度条 无法像这样绘制 有困难 有人可以指导我吗 预先感谢 我
  • 如何使用R中的“bootstrap函数”计算置信区间

    我正在尝试计算R中的置信区间 由于一些特殊原因 我必须使用 bootstrap 包中的函数来计算 这意味着我不能使用 boot 包中的函数 这是我的代码 我正在做的是尝试计算 Pearson 相关系数 然后应用 Bootstrap 方法 B