R语言方法总结要点

更新时间:2023-10-22 18:03:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算描述性统计量:

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(\ \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)

多维列联表

1、table()和xtabs():都可以基于三个或更多的类别型变量生成多维列联表。 2、ftable():

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

ftable(mytable)

margin.table(mytable, 1) margin.table(mytable, 2) margin.table(mytable, 3) margin.table(mytable, c(1,3))

ftable(prop.table(mytable, c(1, 2)))

ftable(addmargins(prop.table(mytable, c(1, 2)), 3))

gtable(addmargins(prop.table(mytable, c(1, 2)), 3)) * 100

独立检验

1、卡方独立性检验 :chisq.test() 例:library(vcd)

mytable <- xtabs(~Treatment+Improved, data=Arthritis) chisq.test(mytable)

mytable <- xtabs(~Improved+Sex, data=Arthritis) chisq.test(mytable)

2、Fisher精确检验:fisher.test()

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

3、Cochran-Mantel—Haenszel检验:mantelhaen.test()

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

相关性度量

1、assocstats(): 例:library(vcd)

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

2、cor():函数可以计算这三种相关系数, 3、cov():函数可用来计算协方差 例:states <- state.x77[, 1:6]

cov(states)

cor(states)

cor(states, method=\

x <- states[, c(\y <- states[, c(\cor(x, y)

4、pcor():偏相关 ggm包 例:library(ggm)

pcor(c(1, 5, 2, 3, 6), cov(states))

相关性的显著性检验

1、cor.test()

其中的x和y为要检验相关性的变量, alternative则用来指定进行双侧检验或单侧检验(取值为\、 \或\) ,而method用以指定要计算的相关类型(\、 \或\)当研究的假设为总体的相关系数小于0时,请使用alternative= \。在研究的假设为总体的相关系数大于0时,应使用alternative=\。在默认情况下,假设为alternative=\(总体相关系数不等于0)。 例:cor.test(states[, 3], states[, 5])

2、corr.test():可以为Pearson、 Spearman或Kendall相关计算相关矩阵和显著性水平。 例:library(psych)

corr.test(states, use = \3、pcor.test():psych包

t 检验

1、t.test(y~x,data)(独立样本) 例:library(MASS)

t.test(Prob ~ So, data=UScrime)

2、t.test(y1,y2,paired=TRUE)(非独立) 例:library(MASS)

sapply(UScrime[c(\ sd = sd(x))))

with(UScrime, t.test(U1, U2, paired = TRUE))

组间差异的非参数检验

两组的比较:

1、wilcox.test(y~x,data) :评估观测是否是从相同的概率分布中抽得 例:with(UScrime, by(Prob, So, median))

本文来源:https://www.bwwdw.com/article/vo6f.html

Top