R语言——自定义函数求置信区间

2023-11-08

#求单正态均值mu的置信区间
#参数依次为置信水平alpha,正态样本x,已知总体方差(默认为未知)
mu <- function(alpha,x,sigma=NA){
  n <- length(x)
  meanx <- mean(x)
  if(is.na(sigma)){
    t1 <- qt(1-alpha/2,n-1)
    t2 <- qt(1-alpha,n-1)
    mu11 <- meanx - t1*sqrt(sum((x-meanx)^2)/(n-1))/sqrt(n)
    mu12 <- meanx + t1*sqrt(sum((x-meanx)^2)/(n-1))/sqrt(n)
    mu21 <- meanx + t2*sqrt(sum((x-meanx)^2)/(n-1))/sqrt(n)
    mu22 <- meanx - t2*sqrt(sum((x-meanx)^2)/(n-1))/sqrt(n)
  }
  else{
    u1 <- qnorm(1-alpha/2,0,1)
    u2 <- qnorm(1-alpha,0,1)
    mu11 <- meanx - u1*sigma/sqrt(n)
    mu12 <- meanx + u1*sigma/sqrt(n)
    mu21 <- meanx + u2*sigma/sqrt(n)
    mu22 <- meanx - u2*sigma/sqrt(n)
  }
  string1 <- paste('以1-',alpha,'为置信水平的mu双侧置信区间为:[',mu11,', ',mu12,']。',sep='')
  string2 <- paste('以1-',alpha,'为置信水平的mu单侧置信区间上限为:',mu21,'。',sep='')
  string3 <- paste('以1-',alpha,'为置信水平的mu单侧置信区间下限为:',mu22,'。',sep='')
  string <- data.frame(Confidence_Interval=c(string1,string2,string3))
  return(string)
}

#求单正态方差sigma的置信区间
#参数依次为置信水平alpha,正态样本x,已知总体均值(默认为未知)
sigma <- function(alpha,x,mu=NA){
  n <- length(x)
  if(is.na(mu)){
    meanx <- mean(x)
    chisq11 <- qchisq(1-alpha/2,n-1)
    chisq12 <- qchisq(alpha/2,n-1)
    chisq21 <- qchisq(alpha,n-1)
    chisq22 <- qchisq(1-alpha,n-1)
    sigma11 <- sqrt(sum((x-meanx)^2)/chisq11)
    sigma12 <- sqrt(sum((x-meanx)^2)/chisq12)
    sigma21 <- sqrt(sum((x-meanx)^2)/chisq21)
    sigma22 <- sqrt(sum((x-meanx)^2)/chisq22)
  }
  else{
    chisq11 <- qchisq(1-alpha/2,n)
    chisq12 <- qchisq(alpha/2,n)
    chisq21 <- qchisq(alpha,n)
    chisq22 <- qchisq(1-alpha,n)
    sigma11 <- sqrt(sum((x-mu)^2)/chisq11)
    sigma12 <- sqrt(sum((x-mu)^2)/chisq12)
    sigma21 <- sqrt(sum((x-mu)^2)/chisq21)
    sigma22 <- sqrt(sum((x-mu)^2)/chisq22)
  }
  string1 <- paste('以1-',alpha,'为置信水平的sigma双侧置信区间为:[',sigma11,', ',sigma12,']。',sep='')
  string2 <- paste('以1-',alpha,'为置信水平的sigma单侧置信区间上限为:',sigma21,'。',sep='')
  string3 <- paste('以1-',alpha,'为置信水平的sigma单侧置信区间下限为:',sigma22,'。',sep='')
  string <- data.frame(Confidence_Interval=c(string1,string2,string3))
  return(string)
}

#求两个正态均值差(mux-muy)的置信区间
#参数依次为置信水平alpha,正态样本x,正态样本y,
#已知x总体方差sigmax(默认为未知),已知y总体方差sigmay(默认为未知)
mux_muy <- function(alpha,x,y,sigmax=NA,sigmay=NA){
  if(is.na(sigmax)|is.na(sigmay)){
    meanx <- mean(x)
    meany <- mean(y)
    m <- length(x)
    n <- length(y)
    sx <- sqrt(sum((x-meanx)^2)/(m-1))
    sy <- sqrt(sum((y-meany)^2)/(n-1))
    sw <- sqrt((m-1)*sx^2/(m+n-2)+(n-1)*sy^2/(m+n-2))
    mu11 <- (meanx-meany)+qt(1-alpha/2,m+n-2)*sw*sqrt(1/m+1/n)
    mu11 <- (meanx-meany)-qt(1-alpha/2,m+n-2)*sw*sqrt(1/m+1/n)
  }
  else{
    meanx <- mean(x)
    meany <- mean(y)
    m <- length(x)
    n <- length(y)
    sx <- sqrt(sum((x-mux)^2)/m)
    sy <- sqrt(sum((y-muy)^2)/n)
    mu11 <- (meanx-meany)+qt(1-alpha/2,m+n)*sw*sqrt(1/m+1/n)
    mu11 <- (meanx-meany)-qt(1-alpha/2,m+n)*sw*sqrt(1/m+1/n)
  }
  string1 <- paste('以1-',alpha,'为置信水平的mux-muy双侧置信区间为:[',mu11,', ',mu12,']。',sep='')
  return(string1)
}

#求两个正态标准差比sigmax/sigmay的置信区间
#参数依次为置信水平alpha,正态样本x,正态样本y,
#已知x总体均值mux(默认为未知),已知y总体均值muy(默认为未知)
sigmax_sigmay <- function(alpha,x,y,mux=NA,muy=NA){
  alpha <- alpha
  mux <- mux
  muy <- muy
  if(is.na(mux)|is.na(muy)){
    meanx <- mean(x)
    m <- length(x)
    meany <- mean(y)
    n <- length(y)
    F1 <- qf(1-alpha/2,m-1,n-1)
    F2 <- qf(alpha/2,m-1,n-1)
    sigma11 <- 1/F1*sum((x-meanx)^2)*(n-1)/sum((y-meany)^2)/(m-1)
    sigma12 <- 1/F2*sum((x-meanx)^2)*(n-1)/sum((y-meany)^2)/(m-1)
  }
  else{
    m <- length(x)
    n <- length(y)
    F1 <- qf(1-alpha/2,m,n)
    F2 <- qf(alpha/2,m,n)
    sigma11 <- 1/F1*sum((x-mux)^2)*n/sum((y-muy)^2)/m
    sigma12 <- 1/F2*sum((x-mux)^2)*n/sum((y-muy)^2)/m
  }
  string1 <- paste('以1-',alpha,'为置信水平的sigmax-sigmay双侧置信区间为:[',sigma11,', ',sigma12,']。',sep='')
  return(string1)
}
  • 选修课作业,自己写函数求单正态样本均值、方差置信区间,两个正态样本均值差、方差比的置信区间。
  • 求解时正态方差和均值默认为未知,函数具体样子可以参考题图。
  • 本来是想输出一段话,但是我不知道怎么换行,所以将就着看吧。
  • 我觉得我应该没有求错,如果求错了,麻烦告诉一声,谢啦!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言——自定义函数求置信区间 的相关文章

  • 自己实现c++ list模板类,亲测可用

    双向链表模板类 dlist h ifndef DLIST H define DLIST H include
  • 秋招-准备计划

    秋招 准备计划 基本信息 时间 9月 10月 岗位 java后端开发 目标 中厂 大厂 有高用户量的项目 企业优先 准备 简历 基本信息 获奖情况 项目经历 实习经历 笔试 算法与数据结构 面试 Java篇 基本知识 JVM JUC多线程

随机推荐

  • SQLserver分页 高效率

    SQL Server 存储过程的分页 这个问题已经讨论过几年了 很多朋友在问我 所以在此发表一下我的观点建立表 CREATE TABLE TestTable ID int IDENTITY 1 1 NOT NULL FirstName nv
  • 什么是云计算,云计算的基本原理是什么?

    云计算 cloudcomputing 分布式计算技术的一种 其最基本的概念 是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序 再交由多部服务器所组成的庞大系统经搜寻 计算分析之后将处理结果回传给用户 透过这项技术 网络服务提供者可
  • 在偏远乡村感受中国电信优厚服务

    春节期间 笔者在家使用中国电信天翼上网卡的过程中发现 目前中国电信的3G网络覆盖在偏远乡村还不是很到位 不过在3G市场的激烈竞争中 运营商的服务意识却有着明显的提升 笔者从北京回家过年 在江西南昌市的一家电信营业厅购买了3G上网卡 当时得知
  • Vue3引用Dplayer播放器播放m3u8,hls播放协议

    一 安装 npm安装Dplayer npm install S Dplayer yarn安装Dplayer yarn add Dplayer 播放协议为 hls 安装hls npm install hls js S 二 代码 我用的是vue
  • sed 命令的高级用法

    编辑命令 d 删除 p 显示模式空间的内容 a text 在行后面追加文本 支持使用 n实现多行追加 i text 在行前面插入文本 支持使用 n实现多行插入 c text 替换行为单行或多行文本 w path to somefile 保存
  • 查看服务器信息

    1 查看 CPU 物理个数 grep physical id proc cpuinfo sort u wc l 2 查看 CPU 核心数量 grep core id proc cpuinfo sort u wc l 3 查看 CPU 线程数
  • MATLAB教学_09影像处理二

    本文视频地址 https www bilibili com video av68228488 p 9 主要学习了初阶影像处理 有三个内容 图像阈值 背景预测 相关连的标签 计算米粒颗数 先将图片二值化 那么有米粒的区域应该是1 而没有的地方
  • [Leetcode] 19. 删除链表的倒数第N个节点

    题目描述 给定一个链表 删除链表的倒数第 n 个节点 并且返回链表的头结点 示例 给定一个链表 1 gt 2 gt 3 gt 4 gt 5 和 n 2 当删除了倒数第二个节点后 链表变为 1 gt 2 gt 3 gt 5 说明 给定的 n
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】计算误码率

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 计算误码率 知识点双指针 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 误码率是最常用的数据通信传输质量指标 它可以理解为 在多少位数据中出现一位差错 移动通信网络中
  • activiti学习(五)——执行监听器与任务监听器的基本使用

    本文介绍执行监听器与任务监听器的基本原理和使用方法 当流程途径连线或者节点的时候 会触发对应的事件类型 执行监听器与任务监听器在生产中经常会用在几个方面 动态分配节点处理人 通过前一个节点设置的变量 在运行到下一个节点时设置对应的处理人 当
  • Python安装tar.gz格式文件方法详解

    这篇文章主要介绍了Python安装tar gz格式文件方法详解 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友可以参考下 有的库没有找到对应的 whl格式文件 只有 tar gz格式文件 接下来总结下
  • STM 32——TIM定时器频率测量

    STM 32 TIM定时器频率测量 1 定时器不同工作模式的配置 在使用STM32进行脉冲频率测量时 免不了会碰上TIM定时器的配置问题 这里做一个简单介绍 1 1计数器模式 首先我们选择内部时钟 PCLK 作为定时器的时钟源 PHB总线时
  • 小文件通过接口参数传递

    文件通过base64转换的字符 private static void updateFileInfo File file DocumentInfo docInfo throws IOException ArchiveException Da
  • 目标检测之FCOS算法分析

    网络结构 图片来自原论文 FCOS Fully Convolutional One Stage Object Detection 在ResNet50 Backbone中 C 3 C 4 C
  • Appium自动化框架从0到1之 公共方法的封装

    在写测试用例的时候 最常用的就是方法的调用 我们在这里 把公共方法封装到一个文件中 这样以后需要使用 直接调用这个方法就可以了 直接上代码 common func py coding utf 8 auth carl DJ time 2020
  • HTML基础(新手入门教程)

    学习笔记 HTML基础 前言 勤做笔记不仅可以让自己学的扎实 更重要的是可以让自己少走弯路 有人说 再次翻开笔记是什么感觉 我的回答是 初恋般的感觉 或许笔记不一定十全十美 但肯定会让你有种初恋般的怦然心动 本章着重复习Html的基础内容
  • 计算机网络-详细版

    鉴于有人需要离线版的PDF文档 这里给出本文章的PDF版本 下载地址如下 https pan itnxd cn 123Pan csdn share computer network pdf 一 计算机网络体系结构 0 脑图 1 计算机网络概
  • 一键开关电路设计(一)

    一键开关电路 一 一 功能需求提出 在一些电子产品中 列举 按键的开关机是比不可少的 比如有点按开关机 长按2s短按2s关机 或者长短按相结合来开关机 这里 我分享本人在开发过程中用到的开关机电路 可通过具体开关芯片的选择来实现上面提到的所
  • 操作系统win7与win10的区别介绍

    转自 微点阅读 https www weidianyuedu com 我们都知道Win7跟Win10都属于微软推出的电脑操作系统 这两款操作系统都有着非常鲜明的特点 而且也都有着各自的喜爱者 但是没有任何一款电脑系统是十全十美的 Win7
  • R语言——自定义函数求置信区间

    求单正态均值mu的置信区间 参数依次为置信水平alpha 正态样本x 已知总体方差 默认为未知 mu lt function alpha x sigma NA n lt length x meanx lt mean x if is na s