110.03 Teste por aleatorização
Continue a partir do código que criou a função simBin
e crie no mesmo arquivo de código uma outra função denominada testBin
que recebe no argumento denominado dados
um data.frame
com a mesma estrutura definida pela função simBin
do exercício 110.02, ou seja, a primeira coluna (trat) com um vetor de caracteres contendo o tratamento de cada observação (apenas dois níveis) e a segunda coluna (res) com o sucesso/insucessos definidos por 1 ou 0. Além disso, sua função deverá ter o argumento nSim
com o número de simulações que irá efetuar.
A sua função deverá:
- somar os sucessos de cada tratamento e dividir pelo respectivo número de observações;
- calcular a diferença em módulo entre os tratamentos dos valores calculados acima. Esta será nossa estatística de interesse;
- criar um vetor para armazenar os resultados com
nSim
posições contendoNA
's; - guardar na primeira posição deste vetor o valor da diferença observada nos dados;
- criar um ciclo de iteração com um contador que vai de 2 até
nSim
; - a cada iteração no ciclo a coluna de sucessos/insucessos deve ser reordenada utilizando a função
sample
. Dica: não sobreescreva o dado original; - em seguida, deverá calcular a estatística de interesse para esse vetor rearranjado e guardar o módulo do valor na posição correta do vetor de resultado;
- por fim, sua função deve calcular e retornar o p-valor associado à probabilidade da diferença observada ter sido gerada pelo acaso.
Resposta
ATENÇÃO: você não está logado. Sua nota não será gravada.