02学生成绩的折腾

首先要知道的一些东西。

a=seq(1,10) # seq函数 这样搞可以知道1到10的向量


q=runif(10,min=5,max=10) #均匀分布函数runif( ),随机数,带有小数。


w=round(3.1415, digits=2)  #round指定小数的东西

w=round(3.1415, digits=3)  #round还有四舍五入的效果

w=round(3.1415) #直接变成整数


e=rnorm(20,mean=5,sd=7) #正态分布函数rnorm( ),mean就是平均值,sd就是标准差


r=c(55,66,77,88,999,4335,666)

r[which(r>100)]=100   #which能让大于100的都变成100


t =sum(c(1,2,3))  #求总数。


模拟产生统计专业同学的名单(学号区分),记录数学分析,线性代数,概率统计三

科成绩,然后进行一些统计分析

num = seq(1,100)


数学=round(runif(100,min=80,max=100))   #均匀分布函数runif


语文=round(rnorm(100,mean=80,sd=7)) #正态分布函数rnorm


英语=round(rnorm(100,mean = 83,sd=18)) #由于正态分布的 标准差很大,会出现超过100的现象


英语[which(英语>100)]=100   #不能运行这种现象,所以用到了which,就没有超过100的


x=data.frame(num,数学,语文,英语) #放到数据框里面。


计算各科平均分

colMeans(x)  # 对列求平均值,就连学号的平均值也算出来了。


colMeans(x) [c("数学","语文","英语")] #就是不显示 学号


apply 用到这个函数


apply(x,2, mean) # 2是行


apply(x,1, mean) # 1是列,试试看就懂了


求各科最高最低分

apply(x,2,max)  #max 最高


#额~,语文101分,这下子 尴尬了 ,算了。知道正态分布两头小,中间大,就行了。就当那个学生后台强硬,就是多1分出来。

apply(x,2,min)  #min最低


求出每人总分

apply(x[c("数学","语文","英语")],1,sum)


完成睡觉。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容