R语言实战 07-描述性统计分析

1. 描述性统计分析

描述性统计量分析:包括平均数,方差,极差,最大值,最小值等,属于概率论与数理统计的简单内容。

# 每加仑汽油行驶英里数(mpg) 、马力(hp)和车重(wt)
# 变速箱类型(am) 汽缸数(cyl)
mtcars    # 所用数据

summary(mtcars[c("mpg","hp","wt")])     # summmary()  得到数据的统计量
# length()、 range()、quantile()/mean()、sd()、var()、min()、max()、median()
# fivenum()

# 用函数
mystats <- function(x, na.omit=FALSE){ 
  if (na.omit)  
    x <- x[!is.na(x)] 
  m <- mean(x) 
  n <- length(x) 
  s <- sd(x) 
  skew <- sum((x-m)^3/s^3)/n 
  kurt <- sum((x-m)^4/s^4)/n - 3 
  return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt)) 
} 
# 分布呈现右偏(偏右+0.610655) 峰度(-0.372766)

myvars <- c("mpg", "hp", "wt") 
sapply(mtcars[myvars], mystats, na.omit=FALSE)



# psych包也拥有一个名为describe()的函数,它可以计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度和平均值的标准误

install.packages("psych")
library(psych)

a = describe(mtcars[myvars])


# psych包的describeBy()  分组描述统计量 (各种统计量)
# describeBy(data, )

describeBy(mtcars[myvars], list(am=mtcars$am, cyl=mtcars$cyl))



# by() 函数的使用  分组统计函数的描述性统计量,可以使用自定义的函数。
# 而reshape2中的aggregate 只能使用简单的mean和sd等函数
# by(data, INDICES, FUN)   INDICES 是因子货因子组成的列表 
dstats = function(x){sapply(x, mystats)}
by(mtcars[myvars], mtcars$am, dstats)



# 生成频数表
a = table(mtcars$am, mtcars$cyl)


###############################
# 独立性检验
# 一个方差的同质性检验用卡方检验, 两个方差同质性的用F检验
# 卡方检验     chisq.test()   同质性,适合性,独立性检验  
# 这里的p值表示从总体中抽取的样本行变量与列变量是相互独立的概率

# install.packages("vcd")
library(vcd)
my = xtabs(~Treatment+Improved+Sex, data=Arthritis)
mytable = xtabs(~Treatment+Improved, data=Arthritis) 
# 卡房检验用的是频数表
chisq.test(mytable)


mytable_2 = xtabs(~Improved+Sex, data=Arthritis) 
chisq.test(mytable_2)

# fisher 精确检验---F 检验 (方差齐性)
fisher.test(mytable)

################################
#  相关性的衡量 (vcd包中的assocstats()函数可以计算二维列联表的phi系数、列联系数和Cramer’s V系数)
assocstats(mytable)  #相关性的值越大代表关系越近

# R可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、
# 偏相关系数、多分格(polychoric)相关系数和多系列(polyserial)相关系数。

# Pearson积差相关系数衡量了两个定量变量之间的线性相关程度。 Spearman等级相关系数则衡量分级定序变量之间的相关程度。Kendall’s Tau相关系数也是一种非参数的等级相关度量

options(digits = 2)
states<- state.x77[,1:6]

# 关于use和method的参数可以在r中获得。
cor(states,use = "everything", method = "pearson")
cov(states)       # 计算协方差

x = states[,3:6]
y = states[,1:2]
cor(x,y)

# 偏相关是指在控制一个或多个定量变量时,另外两个定量变量之间的相互关系
install.packages("ggm")
library(ggm)
colnames(states)# "Population" "Income","Illiteracy","Life Exp","Murder","HS Grad"
pcor(c(1,5,2,3,6), cov(states)) 
# 在控制了收入、文盲率和高中毕业率的影响时,人口和谋杀率之间的相关系数为 0.35。

#####################
# 相关性的显著性检验
# 这些已经这之前的文章介绍过了,大家可以看之前的文章




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“psych”包是R语言中一个非常流行的统计分析包,其中包含了丰富的描述性统计分析函数,其中“describe”函数可以用来生成数据集的基本统计数据,如均值、标准差、最小值、最大值等。下面是一个使用“psych”包中的“describe”函数进行描述性统计分析的示例: 首先,我们需要安装并加载“psych”包: ```r install.packages("psych") library(psych) ``` 然后,我们可以使用“describe”函数来生成数据集的描述性统计数据,例如: ```r data(mtcars) # 载入自带数据集mtcars describe(mtcars) ``` 输出结果如下: ``` vars n mean sd median trimmed mad min max range skew kurtosis se mpg 1 32 20.09 6.03 19.20 19.70 5.41 10.40 33.90 23.50 0.61 -0.37 1.07 cyl 2 32 6.19 1.79 6.00 6.00 1.48 4.00 8.00 4.00 -0.17 -1.76 0.32 disp 3 32 230.72 123.94 196.30 218.05 140.48 71.10 472.00 400.90 0.39 -1.17 21.87 hp 4 32 146.69 68.56 123.00 138.87 63.31 52.00 335.00 283.00 0.73 0.28 12.14 drat 5 32 3.60 0.53 3.70 3.61 0.47 2.76 4.93 2.17 0.27 -0.78 0.09 wt 6 32 3.22 0.98 3.33 3.15 0.77 1.51 5.42 3.91 0.42 -0.02 0.17 qsec 7 32 19.85 1.79 19.00 19.79 1.42 14.50 22.90 8.40 0.37 0.15 0.32 vs 8 32 0.44 0.50 0.00 0.43 0.00 0.00 1.00 1.00 0.00 -2.00 0.09 am 9 32 0.41 0.50 0.00 0.40 0.00 0.00 1.00 1.00 0.36 -1.92 0.09 gear 10 32 3.69 0.74 4.00 3.65 0.00 3.00 5.00 2.00 0.53 -1.07 0.13 carb 11 32 2.81 1.62 2.00 2.81 1.48 1.00 8.00 7.00 1.02 1.05 0.29 ``` 其中,“vars”表示变量的编号,“n”表示样本量,“mean”表示平均值,“sd”表示标准差,“median”表示中位数,“trimmed”表示去除异常值后的平均值,“mad”表示中位数绝对偏差,“min”表示最小值,“max”表示最大值,“range”表示极差,“skew”表示偏度,“kurtosis”表示峰度,“se”表示标准误。 需要注意的是,“describe”函数只适用于数值型变量,对于非数值型变量需要使用其他函数进行描述性统计分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值