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

Dynamic 考试包-为moodle设置包含多个练习的测验,dynamic,moodle,r-exams,Dynamic,Moodle,R Exams,我正试图借助考试包为moodle设置一个简单的练习。似乎我错过了一些东西,并且我导入到Moodle的文件没有包含所有应该包含的项目。代码如下所示。如果有任何提示能帮助我解决这个问题,我将不胜感激。代码如下: <<echo=FALSE, results=hide>>= id <- seq(1:220) age <- round(runif(220, 18, 60), 2) weight <- round(run

我正试图借助考试包为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}



=

id该练习有三个问题妨碍其正常工作:

  • 使用打印(摘要(mydata)[5,4])
  • 计算第三个四分位数会产生一个字符而不是一个数字输出。因此,作为数字的后续格式设置等不起作用。而是使用
    摘要(mydata$weight)[5]
    分位数(mydata$weight,0.75)
  • extype
    必须是
    cloze
    而不是
    num
  • 命令
    fmt(c=(varsol | minsol | maxsol | sol1 | sol2),2)
    不执行您想要执行的操作。使用
    粘贴(fmt(解决方案,2),折叠=“|”)
    。(请注意,重要的是要解决上述第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}
    
    =
    
    我知道它工作得很好!非常感谢你宝贵的帮助,阿希姆!!!祝贺您为我这样的新手用户准备了宝贵的软件包和所有支持视频资料。不客气,很高兴它很有用。请点击左侧计票下方的复选标记接受我的答案。然后,问题在StackOverflow上标记为已解决。谢谢亲爱的阿希姆,再次感谢你的善意回应和帮助。首先,我试图更新你的答案,但系统阻止我这样做,因为我缺乏必要的声誉(15分或更多)。但多亏了你,我才注意到还有一个选项可以将答案标记为已接受。对不起,我以前没有做过。无论如何,非常感谢。穆拉蒂迪斯阿萨那修斯酒店