jiangbeilu 发表于 2014-12-1 16:16 
提供两种思路:
思路1:排除非0元素,然后计算平均值:
大神,麻烦再帮我看看我这个代码问题在哪里?运行不出来~~~
read.table("D:/Program Files/R/R/R-2.15.2/bin/i386/test.csv",header=T,sep=",")->mydata
mydata->A #A是一个矩阵
Ex=function(x){
mean(x)
} #Ex这里是一个函数
En0=function(x){
x1=x-Ex #所以x-Ex是不是就不能直接计算
(1/sqrt(2*pi))*(1/n)*sum(abs(x1))
}
He0=function(x){
var(x)
sqrt(abs(var-En0^2))
}
Ex=function(x){
mean(x[x!=0],na.rm=T)
}
En=function(x){
En0(x[x!=0],na.rm=T)
}
He=function(x){
He0(x[x!=0],na.rm=T)
}
apply(A,2,Ex)
apply(A,2,En)
apply(A,2,He)