R语言统计之一
Posted SANGF
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言统计之一相关的知识,希望对你有一定的参考价值。
介绍
本文主要介绍R语言中的几种统计函数的使用。
简单描述性统计
对于样本的简单描述性统计包括对样本平均状态的分析和离散程度的评价。样本的平均状态可以用平均值、中位数和众数等指标描述;离散状态可以用标准差和方差来评估。在R中,相关的函数如下:
mean(x, trim, na.rm): 计算样本的均值;
median(x, na.rm): 计算样本的中位数;
var(x, na.rm): 计算样本方差;
sd(x, na.rm): 计算样本标准差;
其中,x为向量。trim为0到1之间的浮点数,表示将x排序后,去掉前后各trim的样本。na.rm为一个布尔值,表示是否去掉x中的缺失值再去计算。
一元线性回归
一元线性回归使用lm()函数。通常用来描述两个连续变量之间是否存在线性关系。用法如下所示。
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
relation <- lm(y~x)
# summary information
print(summary(relation))
输出
另外,还可以单独获取以上所呈现的信息,比如说p值,残差等。
coef(): 返回模型的β值;
resid(): 返回模型在各个观测值上的残差;
同样,也可以解析summary()返回的值来获取具体的信息,比如通过summary(relation)$coefficients[1, "Pr(>|t|)"]可以获取截距项的p值。
多元线性回归
多元线性回归同样使用lm()完成。与一元线性回归的区别在于lm的formula部分。
input <- mtcars[,c("mpg","disp","hp","wt")]
model <- lm(mpg~disp+hp+wt, data = input)
print(summary(model))
输出:
逻辑回归
逻辑回归使用glm()函数。用法如下:
input <- mtcars[,c("am","cyl","hp","wt")]
am.data <- glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)
print(summary(am.data))
对于输入数据而言,am为2水平的类别变量。另外,需要注意的是family部分,family=binomial为逻辑回归。输入如下:
泊松回归
泊松回归使用的函数与逻辑回归相同。区别在于在泊松回归中family=poisson。示例如下:
input <- warpbreaks
print(head(input))
# Output
breaks wool tension
1 26 A L
2 30 A L
3 54 A L
4 25 A L
5 70 A L
6 52 A L
output <-glm(formula = breaks ~ wool+tension,
data = warpbreaks,
family = poisson)
print(summary(output))
统计结果:
方差分析
协方差分析过程中需要用到两个函数,aov()和anova()。其中aov()用来进行方差分析,anova()用于比较两个统计模型是否存在差异。另外,需要注意的是aov()默认为1型方差分析。示例:
input <- mtcars
print(head(input))
result <- aov(mpg~hp*am,data = input)
print(summary(result))
输入数据形式:
统计结果:
卡方检验
chisq.test()用来进行卡方检验。具体用法如下:
data <- matrix(c(12, 15, 25, 3), nrow=2)
rownames(data) <- c("Male", "Female")
colnames(data) <- c("A", "B")
print(chisq.test(data))
输出结果:
参考
[1] https://www.w3cschool.cn/r
以上是关于R语言统计之一的主要内容,如果未能解决你的问题,请参考以下文章