考试包-为moodle设置一个包含多项练习的测验



我正试图借助考试包为moodle设置一个简单的练习。我似乎错过了一些东西,并且我导入到Moodle的文件没有包括应该包括的所有项目。代码显示在下面。如果有任何能帮助我解决这个问题的暗示,我将不胜感激。代码如下:

<<echo=FALSE, results=hide>>=
id     <- seq(1:220)
age    <- round(runif(220, 18, 60), 2)
weight <- round(runif(220, 45,100), 2)
gender <- sample(c("male", "female"), 220, replace=T)
mydata <- data.frame(cbind(id, gender, age, weight))
mydata$id     <- as.numeric(mydata$id)
mydata$age    <- as.numeric(mydata$age)
mydata$weight <- as.numeric(mydata$weight)
write.csv(mydata, "DataQuiz1.csv", row.names = FALSE, quote = FALSE)
@    
begin{question}
Using the data provided in url{DataQuiz1.csv} 
begin{answerlist}
item Report the variance of participants' texttt{weight} (rounded up to two decimal places).
item Report what is the texttt{age} of the youngest person (rounded up to two decimal places).
item Report wht is the texttt{age} of the eldest participant (rounded up to two decimal places).
item Indicate what is the 3rd quartile for the variable texttt{weigh}  (rounded up to two places).
item Write down how many participants are included in the texttt{DataQuiz1}.
end{answerlist}
end{question}
begin{solution}
<<echo=FALSE, results=hide, fig=TRUE>>=
varsol  <- var(mydata$weight)
minsol  <- min(mydata$age)
maxsol  <- max(mydata$age)
sol1   <-  print (summary(mydata)[5, 4 ])
sol2  <- nrow(mydata)
solutions <- c(varsol, minsol, maxsol, sol1, sol2)
answerlist(ifelse(solutions, "True", "False"))
@ 

To replicate the analysis in R:
begin{verbatim}
## data
mydata <- read.csv("DataQuiz1.csv")
## To find the variance for weight:
var(mydata$weight)
## To find the minimum value for age:
min(mydata$age)
## To find the maximum value for age:
max(mydata$age)
## To find what is the 3rd Quartile of weight 
summary(mydata$weight) (and check the fifth row, fourth column)
## To find out how many participants
nrow(mydata)
end{verbatim}
end{solution}
%% exname{find_the_variance_and_minimum}
%% extype{num}
%% exsolution{Sexpr{fmt(c=(varsol | minsol | maxsol | sol1 | sol2), 2)}}
%% exclozetype{num|num|num|num|num}
%% extol{0.01}

该练习存在三个问题,使其无法正常工作:

  1. 使用print (summary(mydata)[5, 4 ])计算第三个四分位数会产生字符而不是数字输出。因此,作为数字的后续格式等不起作用。请改用summary(mydata$weight)[5]quantile(mydata$weight, 0.75)
  2. extype需要是cloze而不是num
  3. 命令fmt(c=(varsol | minsol | maxsol | sol1 | sol2), 2)不会执行您想要执行的操作。请改用paste(fmt(solutions, 2), collapse = "|")。(请注意,重要的是要修复上面的问题1。(

通过进一步精简练习,结果如下:

<<echo=FALSE, results=hide>>=
id     <- seq(1:220)
age    <- round(runif(220, 18, 60), 2)
weight <- round(runif(220, 45,100), 2)
gender <- sample(c("male", "female"), 220, replace=TRUE)
mydata <- data.frame(cbind(id, gender, age, weight))
mydata$id     <- as.numeric(mydata$id)
mydata$age    <- as.numeric(mydata$age)
mydata$weight <- as.numeric(mydata$weight)
write.csv(mydata, "DataQuiz1.csv", row.names = FALSE, quote = FALSE)
@    
<<echo=FALSE, results=hide, fig=TRUE>>=
varsol  <- var(mydata$weight)
minsol  <- min(mydata$age)
maxsol  <- max(mydata$age)
sol1   <-  summary(mydata$weight)[5]
sol2  <- nrow(mydata)
solutions <- c(varsol, minsol, maxsol, sol1, sol2)
@ 
begin{question}
Using the data provided in url{DataQuiz1.csv} 
begin{answerlist}
item Report the variance of participants' texttt{weight} (rounded up to two decimal places).
item Report what is the texttt{age} of the youngest person (rounded up to two decimal places).
item Report wht is the texttt{age} of the eldest participant (rounded up to two decimal places).
item Indicate what is the 3rd quartile for the variable texttt{weigh}  (rounded up to two places).
item Write down how many participants are included in the texttt{DataQuiz1}.
end{answerlist}
end{question}
begin{solution}
Replicate the analysis in R:
begin{verbatim}
## data
mydata <- read.csv("DataQuiz1.csv")
## To find the variance for weight:
var(mydata$weight)
## To find the minimum value for age:
min(mydata$age)
## To find the maximum value for age:
max(mydata$age)
## To find what is the 3rd Quartile of weight 
summary(mydata$weight)
## To find out how many participants
nrow(mydata)
end{verbatim}
end{solution}
%% exname{find_the_variance_and_minimum}
%% extype{cloze}
%% exsolution{Sexpr{paste(fmt(solutions, 2), collapse = "|")}}
%% exclozetype{num|num|num|num|num}
%% extol{0.01}

相关内容

最新更新