读入文件
a <- read.table("test.txt",header = T)
a
Math English Chinese
1 34 66 45
2 56 56 34
3 67 87 67
4 98 45 87
5 90 56 98
计算各科成绩的平均值,有以下几种方法
1、类似于C中的for循环
for (i in 1:ncol(a))
{print(mean(as.numeric(a[,i])))}
[1] 69
[1] 62
[1] 66.2
#如果是求每行的平均值,ncol需要换成nrow;as.numeric将数据框转换成数据格式,方便做统计;
2、apply函数
apply(a,2,function(x){mean(x)})
Math English Chinese
69.0 62.0 66.2
#apply函数中,行是1,列是2;
#该命令可以直接简写:apply(a,2,mean)
3、colMeans函数
colMeans(a)
Math English Chinese
69.0 62.0 66.2
#如果是每行求平均数,可以用rowMeans
将以上函数的mean改为max就可以求各科的最高成绩,但是colMeans没有对应的求max的函数,我们可以自己写colMax函数,代码如下:
rowMax=function(x){apply(x,2,max)}
rowMax(a)
Math English Chinese
98 87 98
网友评论