R语言-模拟产生统计专业学生的成绩

现在Mayuyu会以一个例子来说明R语言在统计学中的应用。模拟一个高中学生语数外三科的成绩单。

首先认识两个重要的函数,source()和print(),source()函数是用来运行R脚本的,一个R脚本保存为test.R,

在R交互式环境下通过source("test.R")来运行,print()函数打印结果。

首先每一个学生有一个学号,通过如下方式生成

代码:

#生成学号num
num <- seq(1 : 100) + 20114300

#生成语文成绩,runif表示生成分布均匀的数,最小值为min,最大值为max
chinese <- round(runif(100, min = 90, max = 150))

#生产数学成绩,用正态分布。
math <- round(rnorm(100, mean = 120, sd = 10))

#如果成绩大于150,则设置为150分
math[which(math > 150)] <- 150

#生成英语成绩
english <- round(runif(100, min = 60, max = 150))

#将数据放入框中
grade <- data.frame(num, chinese, math, english)

#将数据写入文件data中
write.table(grade, "data", col.names = F, row.names = F, sep = " ")

#对每一科成绩求平均值,后面的参数2是对列进行操作,如果对行进行操作参数为1
means <- apply(grade[c("chinese", "math", "english")], 2, mean)

#打印每一科的平均值
print(means)

#求每一科最高分
high <- apply(grade[c("chinese", "math", "english")], 2, max)

#打印每一科的最高成绩
print(high)

#求每一个同学的总分
one.sum <- apply(grade[c("chinese", "math", "english")], 1, sum)

#将单个同学的总成绩写入文件grade_sum中
write.table(one.sum, "grade_sum", col.names = F, row.names = F, sep = " ")

上面用到了正太分布和均匀分布,其实在R语言中还有其它的分布,如下

时间: 2024-10-25 02:22:56

R语言-模拟产生统计专业学生的成绩的相关文章

用R语言模拟混合制排队随机服务排队系统

原文链接:http://tecdat.cn/?p=8214 M / M / 1系统 该系统的基本参数:: ? 使用M / M / 1系统进行仿真非常简单 . lambda <- 2 mu <- 4 rho <- lambda/mu # = 2/4 .. 例如, 可以快速可视化随时间变化的资源使用情况.在下面,我们可以看到仿真如何收敛到系统中理论上的平均客户数. # Theoretical value mm1.N <- rho/(1-rho) graph + geom_hline(y

多元线性回归公式推导及R语言实现

多元线性回归 多元线性回归模型 实际中有很多问题是一个因变量与多个自变量成线性相关,我们可以用一个多元线性回归方程来表示. 为了方便计算,我们将上式写成矩阵形式: Y = XW 假设自变量维度为N W为自变量的系数,下标0 - N X为自变量向量或矩阵,X维度为N,为了能和W0对应,X需要在第一行插入一个全是1的列. Y为因变量 那么问题就转变成,已知样本X矩阵以及对应的因变量Y的值,求出满足方程的W,一般不存在一个W是整个样本都能满足方程,毕竟现实中的样本有很多噪声.最一般的求解W的方式是最小

独立成分分析(ICA)的模拟实验(R语言)

本笔记是ESL14.7节图14.42的模拟过程.第一部分将以ProDenICA法为例试图介绍ICA的整个计算过程:第二部分将比较ProDenICA.FastICA以及KernelICA这种方法,试图重现图14.42. ICA的模拟过程 生成数据 首先我们得有一组独立(ICA的前提条件)分布的数据\(S\)(未知),然后经过矩阵\(A_0\)混合之后得到实际的观测值\(X\),即 \[ X= SA_0 \] 也可以写成 \[ S=XA_0^{-1} \] 用鸡尾酒酒会的例子来说就是,来自不同个体的

R语言使用Rasch模型分析学生答题能力

原文链接:http://tecdat.cn/?p=10175 几个月以来,我一直对序数回归与项目响应理论(IRT)之间的关系感兴趣. 在这篇文章中,我重点介绍Rasch分析. 最近,我花了点时间尝试理解不同的估算方法.三种最常见的估算方法是: 联合最大似然(JML) 条件逻辑回归,在文献中称为条件最大似然(CML). 标准多级模型,在测量文献中称为边际最大似然(MML). 阅读后,我决定尝试进行Rasch分析,产生多个Rasch输出. 示范 进行此演示之后,可能需要ggplot2和dplyr的知

【C语言】建立动态数组,输入五个学生的成绩,另外用一个函数检查有无60分以下的,输出不合格成绩

//建立动态数组,输入五个学生的成绩,另外用一个函数检查有无60分以下的,输出不合格成绩 #include <stdio.h> void check(int *p) { int i; printf("不合格的有: "); for(i=0;i<5;i++) { if(p[i]<60) printf("%d ",p[i]); } printf("\n"); } int main() { int *p,i; p=(int *)m

浙大版《C语言程序设计(第3版)》题目集 练习3-3 统计学生平均成绩与及格人数 (15 分)

练习3-3 统计学生平均成绩与及格人数 (15 分) 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数.题目保证输入与输出均在整型范围内. 输入格式: 输入在第一行中给出非负整数N,即学生人数.第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔. 输出格式: 按照以下格式输出: average = 成绩均值 count = 及格人数 其中平均值精确到小数点后一位. 输入样例: 5 77 54 92 73 60 输出样例: average = 71.2 coun

数据分析,R语言

数据结构 创建向量和矩阵 1 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 1 函数mean(), sum(), min(), max(), var(), sd(), prod() 帮助文档 1 函数help() 生成向量 1 seq() 生成字母序列letters 新建向量 1 Which()函数,rev()函数,sort()函数 生成矩阵 1 函数matrix() 矩阵运算 1 函数t(),矩阵加减 矩阵运算 1

R语言学习-基础篇1

###第一周:R基础 rm(list = ls())  #ctr+L###矩阵相乘,函数diag()a=matrix(1:12,nrow=3,ncol=4)b=matrix(1:12,nrow=4,ncol=3)a%*%ba=matrix(1:16,nrow=4,ncol=4)diag(a)#返回对角线元素diag(diag(a))diag(4)#对角线为1的单位矩阵###矩阵求逆,函数rnorm(),solve()a=matrix(rnorm(16),4,4)#产生4*4的随机数solve(a

R语言(入门小练习篇)

问题: 一组学生参加了数学.科学和英语考试.为了给所有的学生确定一个单一的成绩衡量指标,需要将这些科目的成绩组合起来.另外,还想将前20%的学生评定为A,接下来20%的学生评定为B,以此类推.最后,希望按字母顺序对学生排序. Excel中的数据表(自己一个个敲的,最讨厌做的事情TT) StuId StuName Math Science English 1 John Davis 502 95 25 2 Angela Williams 465 67 12 3 Bull Jones 621 78 2