百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

R统计分析基本方法汇总 统计分析常用术语

bigegpt 2024-10-30 01:48 11 浏览

均数与标准差

data <- data.frame(
  考生号 = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
  分数 = c(456, 594, 611, 336, 298, 394, 464, 336, 513, 553, 541, 478, 306, 516, 456, 452, 431, 531, 435, 552)
)
mean_score <- mean(data$分数)
sd_score <- sd(data$分数)

cat("均值:", mean_score, "\n")
cat("标准差:", sd_score, "\n")
均值: 462.65 
标准差: 92.40829

统计描述

data <- data.frame(
  `编号` = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
  `身高` = c(125.2, 135.3, 122.9, 131.6, 121.1, 141.5, 132.1, 112.8, 104.6, 131.2, 125.9, 126.1)
)
statistics <- summary(dataR统计分析基本方法汇总-今日头条
身高`) print(statistics) Min. 1st Qu. Median Mean 3rd Qu. Max. 104.6 122.5 126.0 125.9 131.7 141.5

总体均数估计

# 样本均数
mean_x <- 3.55
# 样本标准差
sd_x <- 1.03
# 总体均数的估计值等于样本均数
estimate <- mean_x
cat("总体均数的估计值为:", estimate)
总体均数的估计值为: 3.55

总体率估计

# 活产新生儿总数
n <- 3009
# 诊断出畸形的新生儿数
k <- 29
# 畸形率
p <- 0.96 / 100
# 计算P(X>=k)的值
prob <- 1 - sum(dbinom(0:k-1, n, p))
cat("该地活产新生儿的畸形率估计值为:", prob * 100)
该地活产新生儿的畸形率估计值为: 51.6608

样本均数与总体均数的比较

# 假设检验
population_mean <- 72  # 总体均数
sample_mean <- 75.5  # 样本均数
sample_std <- 6.5  # 样本标准差
n <- 25  # 样本容量

# 计算t统计量
t_statistic <- (sample_mean - population_mean) / (sample_std / sqrt(n))

# 计算p值
p_value <- 1 - pt(t_statistic, df = n-1)

# 输出结果
if (p_value < 0.05) {
  cat("根据t检验,可以认为该山区成年男子的脉搏高于一般人群,p值为", p_value, "\n")
} else {
  cat("根据t检验,无法认为该山区成年男子的脉搏高于一般人群,p值为", p_value, "\n")
}
根据t检验,可以认为该山区成年男子的脉搏高于一般人群,p值为 0.006364546

配对设计的两样本均数的比较

# 原始数据
data <- matrix(c(122, 145, 113, 128, 141, 156, 123, 122, 105, 121,
                 124, 105, 144, 123, 115, 101, 117, 127), ncol = 2)

# 计算差值
diff <- data[, 2] - data[, 1]

# 进行假设检验
result <- t.test(diff)

# 输出结果
if (result$p.value < 0.05) {
  cat("根据t检验,药物治疗前后血红蛋白含量有显著变化,p值为", result$p.value, "\n")
} else {
  cat("根据t检验,药物治疗前后血红蛋白含量没有显著变化,p值为", result$p.value, "\n")
}
根据t检验,药物治疗前后血红蛋白含量没有显著变化,p值为 0.2220104

两个样本均数比较(成组设计)

# 实验组数据
experimental_group <- c(122, 113, 141, 123, 105, 124, 144, 115, 117)
# 对照组数据
control_group <- c(148, 129, 156, 122, 121, 105, 123, 100, 126)

# 假设检验
result <- t.test(experimental_group, control_group)

# 输出结果
if (result$p.value < 0.05) {
  cat("根据独立两样本t检验,可以认为该药物对血红蛋白含量有影响,p值为", result$p.value, "\n")
} else {
  cat("根据独立两样本t检验,无法认为该药物对血红蛋白含量有影响,p值为", result$p.value, "\n")
}
根据独立两样本t检验,无法认为该药物对血红蛋白含量有影响,p值为 0.6985076

多个样本均数比较(成组设计)

# A药组数据
group_a <- c(122, 113, 141, 123, 105)
# B药组数据
group_b <- c(144, 126, 156, 122, 121)
# 对照组数据
control_group <- c(101, 111, 113, 100, 101)

# 单因素方差分析
result <- aov(c(group_a, group_b, control_group) ~ c(rep("A", 5), rep("B", 5), rep("C", 5)))

result
Call:
   aov(formula = c(group_a, group_b, control_group) ~ c(rep("A", 
    5), rep("B", 5), rep("C", 5)))

Terms:
                c(rep("A", 5), rep("B", 5), rep("C", 5)) Residuals
Sum of Squares                                  2050.533  1842.400
Deg. of Freedom                                        2        12

Residual standard error: 12.39086
Estimated effects may be unbalanced

Sum of Squares:平方和,表示每个效应和残差的平方和。 Deg. of Freedom:自由度,表示每个效应和残差的自由度。 Residual standard error:残差标准误差,表示观测值与拟合值之间的离散程度。

配伍组设计多个样本均数比较

# 创建数据框
data <- data.frame(
  Group = rep(c("A", "B", "C"), each = 5),
  Value = c(122, 113, 141, 123, 105, 144, 126, 156, 122, 121, 103, 110, 115, 100, 101)
)

# 执行单因素方差分析
result <- aov(Value ~ Group, data = data)

# 打印方差分析结果
print(summary(result))
Df Sum Sq Mean Sq F value Pr(>F)  
Group        2   1963   981.7   6.359 0.0131 *
Residuals   12   1852   154.4                 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

样本率与总体率的比较

# 定义总样本数和发生出血症状的样本数
n1 <- 245  # 总样本数
x1 <- 75   # 发生出血症状的样本数

# 定义比例
p0 <- 0.2  # 一般溃疡病患者中的出血发生率

# 执行比例检验
result <- prop.test(x1, n1, p = p0)

# 打印检验结果
print(result)
1-sample proportions test with continuity correction

data:  x1 out of n1, null probability p0
X-squared = 16.588, df = 1, p-value = 4.644e-05
alternative hypothesis: true p is not equal to 0.2
95 percent confidence interval:
 0.2498702 0.3685703
sample estimates:
        p 
0.3061224

完全随机设计两个样本率的比较(四格表资料)

# 创建观察矩阵
observed <- matrix(c(60, 48, 4, 16), nrow = 2, byrow = TRUE)

# 执行卡方检验
result <- chisq.test(observed)

# 打印检验结果
print(result)
Pearson's Chi-squared test with Yates' continuity correction

data:  observed
X-squared = 7.1704, df = 1, p-value = 0.007412

多个样本率的比较

# 创建观察矩阵
observed <- matrix(c(19, 41, 24, 11, 9, 1), nrow = 3, byrow = TRUE)

# 执行卡方检验
result <- chisq.test(observed)

# 打印检验结果
print(result)
Warning message in chisq.test(observed):
"Chi-squared approximation may be incorrect"



    Pearson's Chi-squared test

data:  observed
X-squared = 19.287, df = 2, p-value = 6.483e-05

单向有序分类资料的假设检验

# 创建观察矩阵
observed <- matrix(c(26, 12, 23, 15, 10, 21, 1, 12), nrow = 2, byrow = TRUE)

# 执行卡方检验
result <- chisq.test(observed)

# 打印检验结果
print(result)
Pearson's Chi-squared test

data:  observed
X-squared = 23.181, df = 3, p-value = 3.703e-05
# 创建观察矩阵
observed <- matrix(c(12, 11, 10, 5, 22, 12, 34, 2, 34, 32, 23, 23, 22, 2, 1, 3), nrow = 4, byrow = TRUE)

# 执行卡方检验
result <- chisq.test(observed)

# 打印检验结果
print(result)
Warning message in chisq.test(observed):
"Chi-squared approximation may be incorrect"



    Pearson's Chi-squared test

data:  observed
X-squared = 51.24, df = 9, p-value = 6.29e-08

相关分析

# 创建年龄和身高的向量
age <- c(6.2, 7.0, 10.2, 11.0, 12.1, 9.5, 8.2, 6.5)
height <- c(135, 139, 143, 150, 155, 141, 140, 137)

# 计算Pearson相关系数
result <- cor.test(age, height, method = "pearson")

# 打印结果
print(result)
Pearson's product-moment correlation

data:  age and height
t = 6.5021, df = 6, p-value = 0.0006301
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.6786457 0.9885741
sample estimates:
      cor 
0.9357982

回归分析

# 创建年龄和身高的向量
age <- c(6.2, 7.0, 10.2, 11.0, 12.1, 9.5, 8.2, 6.5)
height <- c(135, 139, 143, 150, 155, 141, 140, 137)

# 拟合线性回归模型
model <- lm(height ~ age)

# 打印回归结果
print(summary(model))

# 输出回归方程
b0 <- coef(model)[1]
b1 <- coef(model)[2]
cat("regression equation: y = ", b0, " + ", b1, "x", sep="")
Call:
lm(formula = height ~ age)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4221 -1.3504  0.6605  1.4036  3.1086

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 117.0605     4.0170  29.141 1.08e-07 ***
age           2.8786     0.4427   6.502  0.00063 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.575 on 6 degrees of freedom
Multiple R-squared:  0.8757,    Adjusted R-squared:  0.855 
F-statistic: 42.28 on 1 and 6 DF,  p-value: 0.0006301

regression equation: y = 117.0605 + 2.878581x

生存分析

library(survival)

# 创建数据向量
a <- c(200, 155, Inf, Inf, 300, 166, 215, 312, Inf, 213, 166, 222)
b <- c(135, 139, Inf, 143, 150, 155, 141, Inf, 140, 137)

# 创建生存对象
surv_a <- Surv(a, rep(1, length(a)))
surv_b <- Surv(b, rep(1, length(b)))

# 创建Kaplan-Meier生存曲线对象并拟合数据
kmf_a <- survfit(surv_a ~ 1)
kmf_b <- survfit(surv_b ~ 1)

# 绘制Kaplan-Meier曲线
plot(kmf_a, col='red', main='Survival Curve of A and B Groups')
lines(kmf_b, col='blue')
legend('bottomleft', legend=c('A方案', 'B方案'), col=c('red', 'blue'), lty=1)


civilpy:Python数据分析及可视化实例目录929 赞同 · 36 评论文章



相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...