R语言方法总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算描述性统计量:

1、summary():

例:summary(mtcars[vars])

summary()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计。

2、apply()函数或sapply()函数

计算所选择的任意描述性统计量。mean、sd、var、min、max、median、length、range 和quantile。函数fivenum()可返回图基五数总括(Tukey’s five-number summary,即最小值、下四分位数、中位数、上四分位数和最大值)。

sapply()

例: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))

}

sapply(mtcars[vars], mystats)

3、describe():

Hmisc包:返回变量和观测的数量、缺失值和唯一值的数目、平均值、

分位数,以及五个最大的值和五个最小的值。

例:library(Hmisc)

describe(mtcars[vars])

4、stat.desc():pastecs包

若basic=TRUE(默认值),则计算其中所有值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和。

若desc=TRUE(同样也是默认值),则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数。

若norm=TRUE(不是默认的),则返回正态分布统计量,包括偏度和峰度(以及它们的统计显著程度)和Shapiro–Wilk正态检验结果。这里使用了p值来计算平均数的置信区间(默认置信度为0.95:

例:library(pastecs)

stat.desc(mtcars[vars])

5、describe():psych包

计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度和平均值的标准误

例:library(psych)

describe(mtcars[vars])

分组计算描述性统计量

1、aggregate():

例:aggregate(mtcars[vars], by = list(am = mtcars$am), mean)

2、by():

例:dstats <- function(x)(c(mean=mean(x), sd=sd(x)))

by(mtcars[vars], mtcars$am, dstats)

by(mtcars[,vars],mtcars$am,plyr::colwis(dstats))

3、summaryBy():doBy包

例library(doBy)

summaryBy(mpg + hp + wt ~ am, data = mtcars, FUN = mystats)

4、describe.by():doBy包(describe.by()函数不允许指定任意函数,)例:library(psych)

describe.by(mtcars[vars], mtcars$am)

5、reshape包分组:(重铸和融合)

例:library(reshape)

dstats <- function(x) (c(n = length(x), mean = mean(x),

sd = sd(x)))

dfm <- melt(mtcars, measure.vars = c("mpg", "hp",

"wt"), id.vars = c("am", "cyl"))

cast(dfm, am + cyl + variable ~ ., dstats)

频数表和列联表

1、table():生成简单的频数统计表

mytable <- with(Arthritis, table(Improved))

Mytable

2、prop.table():频数转化为比例值

prop.table(mytable)

3、prop.table()*100:转化为百分比

prop.table(mytable)*100

二维列联表

4、table(A,B)/xtabs(~A+b,data=mydata)

例:mytable <- xtabs(~ Treatment+Improved, data=Arthritis)

5、margin.table()和prop.table():函数分别生成边际频数和比例(1:行,2:列)

行和与行比例

margin.table(mytable, 1)

prop.table(mytable, 1)

列和与列比例

margin.table(mytable, 2)

prop.table(mytable, 2)

prop.table(mytable)

6、addmargins():函数为这些表格添加边际和

addmargins(mytable)

admargins(prop.table(mytable))

addmargins(prop.table(mytable, 1), 2)

addmargins(prop.table(mytable, 2, 1)

7.crossTable():gmodels包

例:library(gmodels)

CrossTable(Arthritis$Treatment, Arthritis$Improved)

相关文档
最新文档