# 使用 R 完成统计学任务
# 1. 描述统计
- 集中趋势:
mean/median/quantile;weighted.mean;众数DescTools::Mode。 - 离散程度:
var/sd,极差max-min,IQR,自定义加权方差 / 标准差。 - 列级统计:
apply(df, 2, mean/sd);变异系数cv <- sd/mean;scale标准化。 - 形态:
e1071::skewness/kurtosis;psych::describe。
1 | data1 <- read.csv("resources/data/example4_1.csv") |
# 2. 分布概率与区间估计
- 正态 / 标准正态:
pnorm/qnorm;t 分布pt/qt。 - 置信区间与 z 检验:
BSDA::z.test(x, mu, sigma.x, alternative, conf.level)。
1 | 1 - pnorm(80, mean = 10, sd = 10) |
# 3. 假设检验
- 均值 z 检验:已知 σ 时
z.test(..., sigma.x=...),alternative=two.sided/less/greater。 - 比例检验:
z <- (p-p0)/sqrt(p0*(1-p0)/n),pnorm/1-pnorm求 p 值。
1 | example5_11 <- read.csv("resources/data/example5_11.csv") |
# 4. 频数与分组
- 频数 / 频率:
table、prop.table、cumsum与反向累计。 - 分组数与组距:
k <- ceiling(1+3.322*log10(n)),h <- ceiling(range/k)。
1 | mat <- c(78, 82, 65, 91, 73, 88, 76, 69, 85, 90) |
# 5. 单因素 / 双因素方差分析
- 单因素 ANOVA:数据长表
melt,模型aov(y ~ 组),效应量DescTools::EtaSq,事后比较TukeyHSD或agricolae::HSD.test,可视化gginference::ggaov、gplots::plotmeans、ggpubr::stat_anova_test。
1 | library(reshape2) |
- 双因素 ANOVA(含交互):
aov(y ~ 因子1 * 因子2);交互图HH::interaction2wt;效应量EtaSq。
1 | table9_4 <- read.csv("resources/data/example9_4.csv") |
- 假定检验:正态性
shapiro.test/ks.test,方差齐性car::leveneTest,残差图plot(model, which=1)。
1 | shapiro.test(table9_4$产量[table9_4$品种 == "品种1"]) |
# 6. 相关与回归
- 相关:
psych::corr.test,可视化散点 + 边际箱线ggExtra::ggMarginal。
1 | example10_1 <- read.csv("resources/data/example10_1.csv") |
- 一元线性回归:
lm(y ~ x),summary、confint、anova,预测区间 / 置信区间predict(model, newdata, interval=...),诊断图plot(model),残差与置信 / 预测带investr::plotFit,异方差car::ncvTest,自相关car::durbinWatsonTest。
1 | model <- lm(每股收益 ~ 每股净资产, data = example10_1) |
- 多元线性回归与共线性:
lm(y ~ x1 + x2 + ...),标准化系数lm.beta::lm.beta,VIF / 容忍度car::vif,逐步回归step(model),系数森林图与诊断sjPlot::plot_model(type="est"/"std"/"diag")。
1 | model1 <- lm(每股收益 ~ 每股净资产 + 净资产收益率 + 每股资本公积金 + 每股现金流量 + 总股本, |