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.

Regresión en R para marco de datos con solo valores positivos.

Necesito ejecutar una regresión para un marco de datos en el que una variable (like_count) solo tiene valores positivos. El siguiente df es una versión simplificada de mis datos con los valores mínimos y máximos de mis datos:

like_count <- c(631827, 0, 0, 4012)

news_media <- c("ABC", "ABC", "NZZ", "CNN")

data <- data.frame(news<em>media, like</em>count)

¿Cómo calculo correctamente una regresión para este marco de datos? Quiero predecir el like_count dependiendo de la news_media.

Hasta ahora, he intentado lo siguiente:

model <- lm(log(like<em>count) ~ news</em>media, data = data)

summary(model)

Esto conduce a un error, porque recibo valores -INF con log(like_count).

¿Alguien tiene alguna idea de qué puedo hacer para ejecutar una regresión correcta?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como la función logaritmo devuelve un valor no definido para valores iguales a cero, no es apropiado utilizarla en este caso porque el valor mínimo de la variable like_count es cero. En su lugar, un enfoque posible sería añadir una constante a la variable like_count, para que sólo contenga valores positivos. Por ejemplo, podríamos sumar una unidad a like_count:

    data$like_count <- data$like_count + 1
    model <- lm(log(like_count) ~ news_media, data = data)
    summary(model)
    

    De esta manera, like_count tendrá un valor mínimo de 1, y podremos calcular el logaritmo de sus valores. Es importante tener en cuenta que esta transformación cambia la interpretación de los coeficientes del modelo de regresión. En particular, el efecto de la variable news_media corresponderá ahora al cambio porcentual en like_count, en lugar del cambio absoluto.

Comments are closed.