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.

Usando el paquete “hier.part” en R, obtengo un mensaje de “tipo inválido (carácter)”.

Estoy tratando de ejecutar un análisis estadístico jerárquico en un conjunto de datos que involucra tamaños de insectos en R-studio usando el paquete hier.part. Cada punto de datos incluye los siguientes datos: mes de recolección, año de recolección, temperatura media anual, temperatura media mensual y longitud de las alas del insecto (elitro).

Cuando intento usar este código:

indv <- subset(dataset, select=-elytra)+
hier.part(y = dataset$elytra, xcan = indv, family = "gaussian", gof = "RMSPE", barplot = TRUE)

Obtengo este error:

Error in FUN(newX[, i], ...) : invalid 'type' (character) of argument

Ya he convertido cada columna a datos numéricos, así que no estoy seguro de dónde provienen los datos (carácter) que interfieren con el análisis. El conjunto de datos con el que estoy trabajando es grande y un tanto complicado, así que estoy tratando de ejecutar un análisis simple primero, pero parece que no puedo hacer que este paquete funcione para mí.

Disculpen si el formato aquí no es bueno, esta es mi primera pregunta. Si necesitan más información sobre mis datos o el problema, por favor háganmelo saber. Cualquier ayuda es apreciada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el mensaje de error “tipo ‘inválido’ (carácter) de argumento” puede deberse al argumento family = "gaussian" en la función hier.part. Este argumento especifica el tipo de distribución para la variable de respuesta y, que en este caso es la longitud de las alas del insecto (dataset$elytra). Sin embargo, este argumento espera un valor de carácter que represente el tipo de distribución, como “gaussian” para una distribución normal, “poisson” para una distribución de Poisson, etc.

    Una posible solución es cambiar el argumento family al tipo de distribución adecuado para la variable de respuesta (dataset$elytra). Si la longitud de las alas del insecto sigue una distribución normal, entonces “gaussian” es el valor correcto para family. Si sigue una distribución diferente, se debe usar un valor diferente.

    Otro posible problema podría estar relacionado con el argumento xcan, que especifica la matriz de variables predictoras. Es posible que aún haya algunos datos no numéricos en la matriz indv, incluso si todas las columnas se han convertido en datos numéricos utilizando subset(dataset, select=-elytra) (que elimina la columna elytra). Puede ser útil verificar los tipos de datos de todas las columnas en indv utilizando str(indv) o sapply(indv, class), y asegurarse de que todas las columnas sean numéricas.

    Además, puede ser útil proporcionar más información sobre la naturaleza específica del error, como el número de línea o qué argumento está causando el problema, así como cualquier mensaje de advertencia que pueda aparecer. Esto puede ayudar a localizar el problema y proporcionar una solución más específica.

    En general, parece que este problema está relacionado con los tipos de datos de los argumentos y asegurarse de que todos los datos estén en el formato correcto antes de aplicar la función hier.part.

Comments are closed.