AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 79261893
Accepted
Eugenio Guerrero Ruiz
Eugenio Guerrero Ruiz
Asked: 2024-12-08 13:23:56 +0800 CST2024-12-08 13:23:56 +0800 CST 2024-12-08 13:23:56 +0800 CST

Gerando pergunta de fechamento: uma escolha numérica e uma única escolha onde as escolhas são gráficos

  • 772

Estou escrevendo um exercício em RMarkdown (usign knitr no RStudio) que inclui uma questão numérica e uma questão de escolha única. Como posso produzir o código correto que permite que a atividade seja exibida no Moodle?

A questão numérica requer a inserção do coeficiente de correlação (cuja resposta correta é "corr1" no código abaixo), e a questão de escolha única requer a seleção do gráfico que representa os dados (sendo "grafico1" a resposta correta).

library(ggplot2)
Concentration = c(7.1,82.9)
r.sq  = 0
while (r.sq <0.85) {
x = runif(33, min(Concentration),max(Concentration))
b = runif(1,-3,3)+rnorm(33,0,0.25)
a = ifelse(max(b)<0, -min(b)*max(x),0)
data = data.frame(Concentration = round(x,2), Reaction_time = round(a+b*x,2))
z = lm(data$Reaction_time~data$Concentration)
summa = summary(z)
r.sq = summa$r.squared
}
corr = round(cor(data$Concentration,data$Reaction_time),2)

corr1 = corr
r.sq  = 0
while (r.sq <0.85 | abs(corr1)<abs(corr)) {
x = runif(33, min(Concentration),max(Concentration))
b = runif(1,-3,3)+rnorm(33,0,0.25)
a = ifelse(max(b)<0, -min(b)*max(x),0)
data1 = data.frame(Concentration = round(x,2), Reaction_time = round(a+b*x,2))
z = lm(data1$Reaction_time~data1$Concentration)
corr1 =  round(cor(data1$Concentration,data1$Reaction_time),2)
summa = summary(z)
r.sq = summa$r.squared
}

corr2 = corr
r.sq  = 0
while (r.sq <0.85 | abs(corr2)<abs(corr)) {
x = runif(33, min(Concentration),max(Concentration))
b = runif(1,-3,3)+rnorm(33,0,0.25)
a = ifelse(max(b)<0, -min(b)*max(x),0)
data2 = data.frame(Concentration = round(x,2), Reaction_time = round(a+b*x,2))
z = lm(data2$Reaction_time~data2$Concentration)
corr2 =  round(cor(data2$Concentration,data2$Reaction_time),2)
summa = summary(z)
r.sq = summa$r.squared
}

corr3 = corr
r.sq  = 0
while (r.sq <0.85 | abs(corr3)<abs(corr)) {
x = runif(33, min(Concentration),max(Concentration))
b = runif(1,-3,3)+rnorm(33,0,0.25)
a = ifelse(max(b)<0, -min(b)*max(x),0)
data3 = data.frame(Concentration = round(x,2), Reaction_time = round(a+b*x,2))
z = lm(data3$Reaction_time~data3$Concentration)
corr3 =  round(cor(data3$Concentration,data3$Reaction_time),2)
summa = summary(z)
r.sq = summa$r.squared
}

write.csv(data,'concentration_vs_rxtime_q2.csv', row.names = FALSE)

p1 = ggplot(data, aes(x=Concentration, y=Reaction_time)) + geom_point()
p2 = ggplot(data1, aes(x=Concentration, y=Reaction_time)) + geom_point()
p3 = ggplot(data2, aes(x=Concentration, y=Reaction_time)) + geom_point()
p4 = ggplot(data3, aes(x=Concentration, y=Reaction_time)) + geom_point()

png('grafico1.png', width=380, height=248, units='px', pointsize=12)
p1
dev.off()

png('grafico2.png', width=380, height=248, units='px', pointsize=12)
p2
dev.off()

png('grafico3.png', width=380, height=248, units='px', pointsize=12)
p3
dev.off()

png('grafico4.png', width=380, height=248, units='px', pointsize=12)
p4
dev.off()

Este código não funciona no Moodle, pois as opções do gráfico não têm caixas de seleção disponíveis para selecionar a resposta correta.

Determine the correlation coefficinet:
##ANSWER1##


Choose the right plot for data:
1. ![](grafico1.png)  
2. ![](grafico2.png)  
3. ![](grafico3.png)  
4. ![](grafico4.png)

Meta-information
================
extype: cloze
exclozetype: num|schoice
exsolution: `r corr1`|1000
exname: mod10_q1
moodle
  • 1 1 respostas
  • 18 Views

1 respostas

  • Voted
  1. Best Answer
    Achim Zeileis
    2024-12-08T17:34:01+08:002024-12-08T17:34:01+08:00

    A razão pela qual seu código não funciona é que você precisa declarar (a) para onde a interação ##ANSWER2##vai e (b) qual Answerlisté o para essa interação. Você pode fazer isso via:

    Question
    ========
    Determine the correlation coefficient: ##ANSWER1##
    
    Choose the right plot for data:
    
    ##ANSWER2##
    
    Answerlist
    ----------
    * ![](grafico1.png)  
    * ![](grafico2.png)  
    * ![](grafico3.png)  
    * ![](grafico4.png)
    

    No entanto, ao incluir gráficos diretamente na lista de respostas, os detalhes sobre se isso pode ser exibido corretamente dependem do sistema de gerenciamento de aprendizagem e das configurações selecionadas. Em geral, os gráficos não podem ser incluídos em listas suspensas, que geralmente são a interação padrão para elementos de escolha em exercícios de cloze. Portanto, em muitas configurações, é mais simples criar gráficos com rótulos como "A", "B", "C", ... e, em seguida, incluir Answerlistapenas as letras * A, ..., em vez do gráfico inteiro.

    Dito isso, no Moodle consegui incluir os gráficos diretamente se eu escolher botões verticais em vez de menus suspensos (via MULTICHOICE_V) e usar a incorporação base64 diretamente em vez do pluginfilerecurso do Moodle:

    exams2moodle("correlation.Rmd",
      cloze = list(cloze_schoice_display = "MULTICHOICE_V"),
      pluginfile = FALSE)
    
    • 1

relate perguntas

  • API do Moodle para obter conteúdo do Wiki

  • Cursos de filtragem do Moodle com base em um campo personalizado suspenso

  • Gravação BBB não está aparecendo no meu site Moodle

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Por que esse código Java simples e pequeno roda 30x mais rápido em todas as JVMs Graal, mas não em nenhuma JVM Oracle?

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Quando devo usar um std::inplace_vector em vez de um std::vector?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Martin Hope
    Aleksandr Dubinsky Por que a correspondência de padrões com o switch no InetAddress falha com 'não cobre todos os valores de entrada possíveis'? 2024-12-23 06:56:21 +0800 CST
  • Martin Hope
    Phillip Borge Por que esse código Java simples e pequeno roda 30x mais rápido em todas as JVMs Graal, mas não em nenhuma JVM Oracle? 2024-12-12 20:46:46 +0800 CST
  • Martin Hope
    Oodini Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores? 2024-12-12 06:27:11 +0800 CST
  • Martin Hope
    sleeptightAnsiC `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso? 2024-11-09 07:18:53 +0800 CST
  • Martin Hope
    The Mad Gamer Quando devo usar um std::inplace_vector em vez de um std::vector? 2024-10-29 23:01:00 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST
  • Martin Hope
    MarkB Por que o GCC gera código que executa condicionalmente uma implementação SIMD? 2024-02-17 06:17:14 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve