Foro de debate

test de Friedman

 
Imagen de Angel Pascual Asura
test de Friedman
de Angel Pascual Asura - miércoles, 8 de marzo de 2017, 21:30
 

Se trata de ver s el nivel sociocultural (A, B y C) influye en el interés por el estudio.
La tabla de datos es la siguiente:

Conjuntos

A

B

C

1

17

15

12

2

15

16

14

3

18

15

17

4

17

18

12

5

14

17

13

6

13

18

19

7

16

16

19

8

16

17

16

9

19

17

15

10

17

18

14

La tabla se ha importado desde Excel con formato csv

> Friedman <- read.table("I:/FicherosEstadistica/Friedman.csv", header=TRUE, sep=";", na.strings="NA", dec=".",

+   strip.white=TRUE)

> attach(Friedman)

 

Me da este error al intertar realizar el test de Friedman y no encuentro la razón

> friedman.test(A,B,C)

Error in friedman.test.default(A, B, C) :

  not an unreplicated complete block design


Imagen de Manuel Muñoz Márquez
Re: test de Friedman
de Manuel Muñoz Márquez - jueves, 9 de marzo de 2017, 07:58
 

Buenas:

¿Has comprobado que las variables se importan como numéricas? Tal vez sea un error en la lectura de los datos.

Aprovecho la ocasión para comentarte que el uso de attach no está recomendado, puede generar problemas.

Un saludo.

Imagen de Angel Pascual Asura
Re: test de Friedman
de Angel Pascual Asura - jueves, 9 de marzo de 2017, 20:49
 

Muchas gracias por la respuesta. He comprobado los datos y sí que son numéricos:


> str(Friedman)


'data.frame':  10 obs. of  3 variables:

 $ A: num  17 15 18 17 14 13 16 16 19 17

 $ B: num  15 16 15 18 17 18 16 17 17 18

 $ C: num  12 14 17 12 13 19 19 16 15 14

Con las siguientes instrucciones me da el mismo error:

> friedman.test(Friedman)

Error in friedman.test.default(Friedman) :  argument "groups" is missing, with no default

> friedman.test((Friedman),data=Friedman)

Error in friedman.test.default((Friedman), data = Friedman) :  argument "groups" is missing, with no default

Si transformo los datos en matriz se realiza el análisis pero el resultado no es correcto y la ji cuadrado de Friedman es 3,35 en el ejercicio realizado manualmente y el resultado con R es:

> Friedman<-matrix(Friedman, ncol=3,byrow=T)

> friedman.test(Friedman)

        Friedman rank sum test

data:  Friedman

Friedman chi-squared = 0.47368, df = 2, p-value =0.7891

No encuentro la solución



Imagen de Manuel Muñoz Márquez
Re: test de Friedman
de Manuel Muñoz Márquez - viernes, 10 de marzo de 2017, 07:44
 

Buenas:

> A=c(17, 15, 18, 17, 14, 13, 16, 16, 19, 17)
> B=c(15, 16, 15, 18, 17, 18 ,16 ,17 ,17 ,18)
> C=c(12, 14, 17, 12, 13, 19, 19, 16, 15, 14)
> ?friedman.test
> friedman.test(cbind(A,B,C))

    Friedman rank sum test

data:  cbind(A, B, C)
Friedman chi-squared = 3.5263, df = 2, p-value = 0.1715

No veo el motivo por el que te sale otro valor.

Un saludo.

Imagen de Angel Pascual Asura
Re: test de Friedman
de Angel Pascual Asura - lunes, 13 de marzo de 2017, 19:20
 

Muchas gracias Manuel.

He solucionado el problema pero sin entender cuál era, ya que ejecutando los mismos pasos, creo, me ha dado el resultado. No entiendo qué pasaba, aunque supongo que había algún error que no puedo saber ya que no conservo los chunk's anteriores