首页 / 操作系统 / Linux / R语言相关分布函数、统计函数的使用
分布函数家族: *func()
r : 随机分布函数
d : 概率密度函数
p : 累积分布函数
q : 分位数函数 func()表示具体的名称如下表:例子#r :随机分布函数#d :概率密度函数#p :累积分布函数#q :分位数函数#生成符合二项分布的数据#二项分布#X~(N,P) str(rbinom)x<-rbinom(5,1,0.5)#做1次试验,假设正面概率为0.5,进行5次观察,每1次试验中正面出现的次数为别为 0 0 1 1 0x<-rbinom(5,10,0.5) #做10次试验,假设正面概率为0.5,进行5次观察,每10次试验中正面出现的次数分别为 4 4 7 6 6xplot(x)#概率密度函数y<-dbinom(40,100,0.5) #做100次试验,假设正面概率为0.5,正面出现的次数为50次的概率是 0.01084387y<-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.5397946z<-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 对缺失值进行删除,存在缺失值,结果为NAmean(airquality$Temp, na.rm = T, trim = .01) #trim=.01 按百分比去掉头尾的数,删除极值#中位数median(airquality$Ozone, na.rm = T) #加权平均数temp100 <- rnorm(100,30,1)#通过正态分布生成100个随机数,平均值为30w <- 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.1096130231.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.98788590.0584222 3.523001359.4652697#skew1.209866-0.4192893 0.34102753 -0.3705073#kurt1.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)双变量函数
协方差: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