#单变量的描述统计 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
R语言相关分布函数、统计函数的使用
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/2e05c12dd4d4a71a671960b298ce2a7b.html