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?
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 variablelike_count
, para que sólo contenga valores positivos. Por ejemplo, podríamos sumar una unidad alike_count
: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 variablenews_media
corresponderá ahora al cambio porcentual enlike_count
, en lugar del cambio absoluto.