未加星标

R语言相关分布函数、统计函数的使用

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 20160901 | 作者 红领巾 ] 0人收藏点击收藏
分布函数家族: *func()
r : 随机分布函数
d : 概率密度函数
p : 累积分布函数
q : 分位数函数

func()表示具体的名称如下表:

R语言相关分布函数、统计函数的使用

例子

#r : 随机分布函数
#d : 概率密度函数
#p : 累积分布函数
#q : 分位数函数
#生成符合二项分布的数据
# 二项分布
# X~(N,P)
str(rbinom)
x<-rbinom(5,1,0.5) #做1次试验,假设正面概率为0.5,进行5次观察,每1次试验中正面出现的次数为别为 0 0 1 1 0
x<-rbinom(5,10,0.5) #做10次试验,假设正面概率为0.5,进行5次观察,每10次试验中正面出现的次数分别为 4 4 7 6 6
x
plot(x)
#概率密度函数
y<-dbinom(40,100,0.5) #做100次试验,假设正面概率为0.5,正面出现的次数为50次的概率是 0.01084387
y<-dbinom(40:50,100,0.5) ##做100次试验,假设正面概率为0.5,正面出现的次数分别为40到50的概率分别为: 0.01084387...
sum(y) #累计概率
y<-dbinom(0:100,100,0.5)
plot(y) #概率密度曲线
plot(0:100,y,pch=16) #概率密度曲线
#累计概率
z<-pbinom(50,100,0.5) #累计概率 小于等于50的概率为0.5397946
z<-dbinom(0:50,100,0.5)
sum(z)
plot(pbinom(0:100,100,0.5))
#分为点
q = qbinom(0.5,100,0.5) #在0.5分为点的数值为
q
单变量统计函数
均值:mean
中位数:median
分位数:quantile
方差:var
标准差:sd
频数表:table
偏度:Sk=sum((x[!is.na(x)]-Av)^3/Sd^3)/N #偏度

   <0 左偏 >0 右偏

峰度:Ku=sum((x[!is.na(x)]-Av)^4/Sd^4)/N-3 #峰度

    <3 坡度缓 >3 坡度陡

#单变量的描述统计
str(airquality) #R自带的空气质量数据集 str 结构structure的缩写
summary(airquality) #汇总数据包括 最小值、分位数、平均数、中位数、最大值、缺失值(NA's)
#平均值
mean(airquality$Ozone, na.rm = T) #na.rm=T 对缺失值进行删除,存在缺失值,结果为NA
mean(airquality$Temp, na.rm = T, trim = .01) #trim=.01 按百分比去掉头尾的数,删除极值
#中位数
median(airquality$Ozone, na.rm = T)
#加权平均数
temp100 <- rnorm(100,30,1) #通过正态分布生成100个随机数,平均值为30
w <- 1:100 #生成每个值的权重值
wmt = weighted.mean(temp100,w,na.rm = T) #进行加权平均计算
mt = mean(temp100,na.rm = T)
#几何平均数
x<- c(.045, .021, .255, .019)
xm = mean(x)
xg = exp(mean(log(x)))#exp指数 log对数
#中位数
median(temp100,na.rm = T)
#分位数
quantile(airquality$Temp, na.rm = T)
# 0% 25% 50% 75% 100% 50%中位数 0%最小值 25%上四分位数
# 56 72 79 85 97
quantile(airquality$Temp, na.rm = T, probs = c(0,0.1,0.9,1)) #通过probs自定义分位点
#方差
var(temp100)
#标准差
ts <- sd(temp100)
ts^2 #标准差的平方等于方差
#峰度和偏度
mysummary = function(x,...){
Av=mean(x,na.rm = T)
Sd=sd(x,na.rm = T)
N=length(x[!is.na(x)])
Sk=sum((x[!is.na(x)]-Av)^3/Sd^3)/N #偏度
Ku=sum((x[!is.na(x)]-Av)^4/Sd^4)/N-3 #峰度

result=c(argv=Av, sd=Sd, skew=Sk, kurt=Ku)
return (result)
}
mysummary(temp100)
# argv sd skew kurt
#30.109613023 1.033804058 -0.008489863 -0.597720454
#通过apply进行提交
apply(airquality[,c(-5,-6)],2,FUN=mysummary)
#Ozone Solar.R Wind Temp
#argv 42.129310 185.9315068 9.95751634 77.8823529
#sd 32.987885 90.0584222 3.52300135 9.4652697
#skew 1.209866 -0.4192893 0.34102753 -0.3705073
#kurt 1.112243 -1.0040581 0.02886468 -0.4628929

非单封分布:

#非单峰分布不能简单计算均值
x=rnorm(100,50,9)
y=rnorm(200,150,9)
z=c(x,y)
plot(density(z)) #使用密度曲线画图
abline(v=mean(z),col=3,lw=3)
R语言相关分布函数、统计函数的使用
双变量函数

协方差:cov

相关系数:cor 通过相关系数计算相关性

缺失值处理:行删除、配对删除等

#协方差
cov(airquality[,-5:-6],use = 'complete.obs') #行删除,处理缺失值
cov(airquality[,-5:-6],use = 'pairwise.complete.obs') #配对删除,处理缺失值
#相关系数
cor(airquality[,-5:-6],use = 'complete.obs') #行删除
cor(airquality[,-5:-6],use = 'pairwise.complete.obs') #配对删除
#结果为对称矩阵

本文地址:http://www.linuxidc.com/Linux/2016-09/135293.htm


R语言相关分布函数、统计函数的使用

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:R语言相关分布函数、统计函数的使用
本站链接:http://www.codesec.net/view/483487.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(36)