-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Corrigir exercícios com gráficos #6
Comments
Olás,
Uma possível solução é encapsular o script em um dispositivo de arquivo em
um formato especifico de raster, png por exemplo, e fazermos o teste lógico
no arquivo de imagem lido pelo pacote png. No caso de um png colorido, ele
é lido como um array com as 2 primeiras dimensões representando a posição
dos pixels (linha e colunas) e a 3 a escala RGB para cada pixel. Parece um
formato simples para fazermos testes lógicos.
Veja o exemplo abaixo:
png("myplot.png") ## precisa abrir o dispositivo de arquivo antes do script
## aqui comeca o script do aluno
plot(1:10)
rect(xleft=1, ybottom=5, xright=3, ytop=7, col="red")
rect(xleft=1:5,ybottom=2:6, xright=(1:5)+4, ytop=(2:6)+2, col=1:5)
points(1:10, 1:10, pch=16)
## aqui termina
dev.off() ## fecha o dispositivo ativo para salvar o png no diretorio de
trabalho
## lendo o arquivo e comparando
library(png)
## lendo a imagem do script
img1 <- readPNG("myplot.png")
str(img1)
## lendo a imagem base (aqui precisamos ler a imagem base do grafico
correto!
img2 <- readPNG("myplot.png")
str(img2)
## comparando a camada R (Rgb) das imagens
table(img1[,,1] == img2[,,]
Alexandre Adalardo de Oliveira
Professor Doutor
Universidade de São Paulo
IB-Depto Ecologia
http://labtrop.ib.usp.br <http://ecologia.ib.usp.br/labtrop>
[email protected]
…____________________
[email protected]
http://scholar.google.com.br/citations?user=O1gcrwIAAAAJ&hl=pt-BR
2018-04-24 20:57 GMT-03:00 Andre Chalom <[email protected]>:
É possível corrigir exercícios que pedem a geração de um gráfico?
@raspereira <https://github.com/raspereira> sugeriu a função recordPlot(),
preciso verificar.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHRIdfnOCe4fwBpL3q80MF6LntJ0JBGyks5tr7v8gaJpZM4Til1R>
.
|
Olá pessoal,
Interessante a sugestão do Alê, pois podemos testar itens específicos no grafico (cor p. ex.). Eu estou fazendo testes com a função recordPlot(). O legal dessa função é que ela salva em um objeto um gráfico feito na interface gráfica. No entanto a comparação de gráficos muito parecidos está falhando pelo menos para os histogramas.
Enfim, vários caminhos estão surgindo...
Veja exemplo abaixo:
x<-rpois(1000, 5)boxplot(x)boxplot(x) # não saquei o porquê, mas tem que repetir o comando para funcionar!p <- recordPlot()
boxplot(x)p.control<-recordPlot() identical(p, p.control)
# Refazendo o sorteio vai dá FALSE, como esperado.x<-rpois(1000, 5)boxplot(x)boxplot(x)p <- recordPlot()
x<-rpois(1000, 5)boxplot(x)p.control<-recordPlot() identical(p, p.control)
Abraços,
--
Rodrigo A. S. Pereira
Depto de Biologia/FFCLRP-USP
Av. Bandeirantes, 3900
14040-901 - Ribeirão Preto, SP
Fone: +55 16 3315-4678
Fax: +55 16 3315-9101
http://sites.ffclrp.usp.br/ficus/
Em quarta-feira, 2 de maio de 2018 15:21:28 BRT, Alexandre Adalardo <[email protected]> escreveu:
Olás,
Uma possível solução é encapsular o script em um dispositivo de arquivo em
um formato especifico de raster, png por exemplo, e fazermos o teste lógico
no arquivo de imagem lido pelo pacote png. No caso de um png colorido, ele
é lido como um array com as 2 primeiras dimensões representando a posição
dos pixels (linha e colunas) e a 3 a escala RGB para cada pixel. Parece um
formato simples para fazermos testes lógicos.
Veja o exemplo abaixo:
png("myplot.png") ## precisa abrir o dispositivo de arquivo antes do script
## aqui comeca o script do aluno
plot(1:10)
rect(xleft=1, ybottom=5, xright=3, ytop=7, col="red")
rect(xleft=1:5,ybottom=2:6, xright=(1:5)+4, ytop=(2:6)+2, col=1:5)
points(1:10, 1:10, pch=16)
## aqui termina
dev.off() ## fecha o dispositivo ativo para salvar o png no diretorio de
trabalho
## lendo o arquivo e comparando
library(png)
## lendo a imagem do script
img1 <- readPNG("myplot.png")
str(img1)
## lendo a imagem base (aqui precisamos ler a imagem base do grafico
correto!
img2 <- readPNG("myplot.png")
str(img2)
## comparando a camada R (Rgb) das imagens
table(img1[,,1] == img2[,,]
Alexandre Adalardo de Oliveira
Professor Doutor
Universidade de São Paulo
IB-Depto Ecologia
http://labtrop.ib.usp.br <http://ecologia.ib.usp.br/labtrop>
[email protected]
____________________
[email protected]
http://scholar.google.com.br/citations?user=O1gcrwIAAAAJ&hl=pt-BR
2018-04-24 20:57 GMT-03:00 Andre Chalom <[email protected]>:
É possível corrigir exercícios que pedem a geração de um gráfico?
@raspereira <https://github.com/raspereira> sugeriu a função recordPlot(),
preciso verificar.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHRIdfnOCe4fwBpL3q80MF6LntJ0JBGyks5tr7v8gaJpZM4Til1R>
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Olá pessoal,
Experimentei colocar fazer os gráficos "gabarito" na Precondição ou no Testes. Em ambos está havendo falhas. Alguém tem alguma dica de como resolver isso? Estou anexando o conjunto de dados do exercício. Submeto o código resposta abaixo (fazendo um gráfico diferente do pedido) e o teste falha em detectar o erro: alunos<-read.delim2("alunos2018.txt") Abraços, Rodrigo |
Oi Rodrigo,
Como respondi no seu email o Chalom pode ajudar mais com isso. De qq forma,
os arquivos que fazem parte de condições devem se incluídos pela aba
"Arquivos" no meu à direita do notaR. Eles ficam disponíveis para todos os
exercícios. Acho que o png do "gabarito" deveria entrar aqui!
Abs
A.
Alexandre Adalardo de Oliveira
Professor Doutor
Universidade de São Paulo
IB-Depto Ecologia
http://labtrop.ib.usp.br <http://ecologia.ib.usp.br/labtrop>
[email protected]
…____________________
[email protected]
http://scholar.google.com.br/citations?user=O1gcrwIAAAAJ&hl=pt-BR
Em 20 de maio de 2018 23:26, raspereira <[email protected]> escreveu:
Olá pessoal,
Tenho uma dúvida e um problema.
1.
Qual é a sequencia de execução das rotinas pelo notaR? Executa
primeiro as "Precondições", depois a resposta do aluno e por último os
"Testes"?
2.
Estou testando a função p<-recordPlot(). Percebi que o objeto (p por
ex.) criado quando o dispositivo gráfico tá fechado é diferente do objeto
criado quando a janela gráfica já tá aberta. A solução é sempre fechar o
dispositivo gráfico antes de fazer um novo gráfico. No entanto não estou
conseguindo implementar isso no notaR (exercício 301.2).
Experimentei colocar fazer os gráficos "gabarito" na Precondição ou no
Testes. Em ambos está havendo falhas. Alguém tem alguma dica de como
resolver isso? Estou anexando o conjunto de dados do exercício.
alunos2018.txt
<https://github.com/lageIBUSP/notaR-r/files/2021005/alunos2018.txt>
Abraços,
Rodrigo
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHRIdYpVG_t4-VHFHwPiSqsYlAGmfz_Lks5t0iW_gaJpZM4Til1R>
.
|
É uma possibilidade interessante. Eu estava pensando em criar o gabarito na Precondição para não poluir os "Arquivos" com coisas que não sejam arquivos de dados originais. Se for possível criar nas precondições acho que fica mais flexível caso deseje substituir o arquivo de dados de um ano para o outro. Por ex. no exercício que quero fazer vou usar a altura e peso dos alunos da turma. Abraços, rodrigo |
Entendi. Nesse caso parece melhor. D qq forma vai precisar atualizar as
pré-condições todos os anos para incluir dados da turma. Uma alternativa
seja a pre-condicao ler direto de um arquivo do Google drive...
Em Ter, 22 de mai de 2018 17:58, raspereira <[email protected]>
escreveu:
… É uma possibilidade interessante. Eu estava pensando em criar o gabarito
na Precondição para não poluir os "Arquivos" com coisas que não sejam
arquivos de dados originais. Se for possível criar nas precondições acho
que fica mais flexível caso deseje substituir o arquivo de dados de um ano
para o outro. Por ex. no exercício que quero fazer vou usar a altura e peso
dos alunos da turma.
Abraços, rodrigo
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHRIdaniH0j2sbGcqAiz3Qk-8TLRwa_Iks5t1Hv4gaJpZM4Til1R>
.
|
Oi, Rodrigo!
Correto! Essa é a ordem atual, e a proposta é para continuarmos fazendo essa ordem. Vi que vc subiu o arquivo alunos2018.txt para o servidor, e eu instalei a library de "png", agora deve dar pra vc continuar seus testes. Abraços! |
Oi @andrechalom @adalardo , Bingo, tá funcionando! Mas a função hist é mala. Por default ela coloca o nome do vetor como título do gráfico. Assim, o nome do arquivo gabarito e do aluno tem que ter nomes iguais ou o enunciado pedir para o aluno mudar o título (main=) do gráfico. A solução que optei é deixar o script do aluno sobrescrever o objeto de dados da Precondição... Abraços e obrigado! |
Achei por acaso esse pacote, talvez seja um bom começo!! |
Valeu André,
vou examinar.
Abraços
--
Rodrigo A. S. Pereira
Depto de Biologia/FFCLRP-USP
Av. Bandeirantes, 3900
14040-901 - Ribeirão Preto, SP
Fone: +55 16 3315-4678
Fax: +55 16 3315-9101
http://sites.ffclrp.usp.br/ficus/
Em terça-feira, 28 de agosto de 2018 13:44:29 BRT, Andre Chalom <[email protected]> escreveu:
Achei por acaso esse pacote, talvez seja um bom começo!!
https://github.com/MangoTheCat/visualTest
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
| | Livre de vírus. www.avast.com. |
|
É possível corrigir exercícios que pedem a geração de um gráfico? @raspereira sugeriu a função
recordPlot()
, preciso verificar.The text was updated successfully, but these errors were encountered: