如何解决考试套餐-设置多项测验来模拟情绪
我正试图借助考试套餐来建立一个简单的情绪练习。似乎我错过了一些东西,并且导入到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}
解决方法
该练习存在三个问题,导致其无法正常工作:
- 使用
print (summary(mydata)[5,4 ])
计算第三个四分位数会产生一个字符,而不是数字输出。因此,后续格式化等操作无法正常进行。而是使用summary(mydata$weight)[5]
或quantile(mydata$weight,0.75)
。 -
extype
必须是cloze
而不是num
。 - 命令
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,collapse = "|")}}
%% \exclozetype{num|num|num|num|num}
%% \extol{0.01}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。