r语言求平均值

Python011

r语言求平均值,第1张

1.导入数据

install.packages('xslx')

library(xlsx)

Sys.setlocale("LC_ALL", "zh_cn.utf-8")

a=read.xlsx2('d:/1.xlsx',1,header=F)

2.计算平均值

数据集a中有变量:因变量y,自变量x

install.packages('Rmisc')

library(Rmisc)

单因素:求y的平均值,以x为分类变量

a1=summarySE(a,measurevar='y', groupvars=c('x'))

双因素:求y的平均值,以x1和x2为分类变量

a1=summarySE(a,measurevar='y', groupvars=c('x1','x2'))

如果是简单数据,数据集a中有变量:只有因变量y,没有自变量x。求y的平均值代码如下:

mean(a$y)

如下:

数据集a有变量:x1,x2,x3等等

求各变量的均值方差,代码如下:

mean(a$x1) var(a$x1)。

mean(a$x2) var(a$x2)。

mean(a$x3) var(a$x3)。

……

如果有无效值,需要在括号内加入na.rm=T。

R是用于统计分析、绘图的语言和操作环境。

R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

R可以看作贝尔实验室(AT&T BellLaboratories)的Rick Becker、John Chambers和Allan Wilks开发的S语言的一种实现。当然,S语言也是S-Plus的基础。

所以,两者在程序语法上可以说是几乎一样的,可能只是在函数方面有细微差别,程序十分容易地就能移植到一程序中,而很多一的程序只要稍加修改也能运用于R。

在基因芯片数据或其他类型数据中,采用计算所有样本的平均值从而进行填充,如果需要用中位数或其他统计量填充时只需修改相应的方法即可

#1. 检查是否有缺失值

which(is.na(mRNA),arr.ind = T)

#2. 计算行均值并填充

#该数据中探针(基因)为行(名),样本为列(名),(数据框内容为表达量数据值型数据数据)格式可见文章最后

row_mean <- apply(mRNA,1,mean,na.rm =T) #1是行,2是列,若用其他方法修改mean即可

mRNA$MEAN <- row_mean

ncol = 样本数

for (i in 1:nrow(mRNA)) {

  mRNA[i,is.na(mRNA[i,])] <- mRNA[i,ncol]

}