es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

tabla de contingencia = prueba de Fisher

Hola a todos,
Soy muy nueva en la programación en R y tengo un problema particular al crear una tabla de contingencia de la manera que quiero. Necesito ejecutar fisher.test y no puedo hacer que la tabla funcione. Tengo dos variables categóricas tmt (a,d) y postneg (sí, no). Sin embargo, los valores que necesito para esta tabla están en una columna diferente llamada (score). Puedes ver la tabla con las variables y valores aquí. Intenté agrupar las variables (tmt, postneg) y resumir añadiendo los valores de (score).

summary_cramp_data <- cramp_data %>%
  group_by(tmt, postneg) %>%
  summarise(sum_score = sum(score))

Luego traté de crear una tabla tibble.

contingency <- summary_cramp_data %>%
  pivot_wider(names_from = postneg, values_from = sum_score)

*La tabla se ve así: Puedes verla aquí.

Finalmente, transformé la tabla en una matriz.

as.matrix(contingency)

Sin embargo, al ejecutar fisher.test sigo teniendo este error:

> fisher.test(contingency)

Error in fisher.test(contingency) : 
  all entries of 'x' must be nonnegative and finite

Agradecería mucho si alguien puede ayudarme con este problema.
Muchas gracias,
Danisa

Tags:  ,

Answer

  1. Avatar for davy.ai

    Hola Danisa,

    Parece que el problema con tu función fisher.test() podría estar relacionado con los valores en la tabla de contingencia. El mensaje de error sugiere que todas las entradas en la tabla deben ser no negativas y finitas.

    Una cosa que debes verificar es si hay valores faltantes o NaNs en tu columna de puntuación que podrían estar causando este problema. Es posible que desees intentar eliminar cualquier fila con valores faltantes usando la función na.omit().

    Alternativamente, intenta verificar la clase de la tabla de contingencia usando class(contingency). Si no es una matriz, es posible que debas convertirla en una matriz usando la función as.matrix().

    Además, verifica que no haya valores negativos u otras anomalías en tus datos que podrían crear problemas al ejecutar la prueba de Fisher.

    Espero que esto ayude.

    Saludos,
    [Tu Nombre]

Comments are closed.