如何在R

时间:2016-01-18 22:48:40

标签: r

我是R的初学者,我的问题是:在矩阵中,我生成0到20之间的随机标记。每行对应一个学生,每一列对应一个主题。我会计算每个学科的平均学生人数,但我不知道如何测试每一栏中的标记是否大于10.我认为,我必须使用“申请”和一个功能,但我不知道没成功......

nb.etu <- 60
nb.mat <- 12
notes <- matrix(
data = runif (n = nb.mat*nb.etu, min = 0, max = 20),
  nrow = nb.etu,
  ncol = nb.mat)

sexe <- sample(c("F","M"),size=60,replace=TRUE)
matrice <- cbind(notes,sexe)

# Class average

moy.mat <- apply(notes,2,mean)

# Student average

moy.etu <- apply(notes,1,mean)

# Student average for each subject

mod.info <- notes[,1:5]
moy.info <- apply(mod.info,1,mean)

mod.bio <- notes[,6:12]
moy.bio <- apply(mod.bio,1,mean)

1 个答案:

答案 0 :(得分:1)

我假设你想评估每列的平均值是否大于10。

试试这个。

test.passed <- ifelse(moy.mat > 10, "Passed", "Failed")
rbind(notes, test.passed)

修改1

然后尝试这个。

sum(apply(notes, 1, function(x) all(x > 10)))

这是做什么......

  1. 计算学生是否通过了每个学生的考试
  2. 取得学生的总和