R 中仅具有正值的数据框的回归

Regression in R for data frame with only positive values

我需要 运行 一个数据框的回归,其中一个变量 (like_count) 只有正值。以下 df 是我的数据的简化版本,最小值。和最大。我数据中的值:

like_count <- c(631827, 0, 0, 4012)
  
news_media <- c("ABC", "ABC", "NZZ", "CNN")

data <- data.frame(news_media, like_count)

如何正确计算此数据框的回归?我想根据 news_media 预测 like_count .

到目前为止,我尝试了以下方法:

model <- lm(log(like_count) ~ news_media, data = data)

summary(model)

这会导致错误,因为我收到带有 log(like_count).

的 -INF 值

有人知道我可以做些什么来 运行 正确的回归吗?

您收到此错误是因为当您对 like_count 使用日志函数时,0 值 return 到 -Inf.

首先,创建一个取like_count对数的新变量。

log_like_count = log(like_count)

然后您可以使用基础 R 中的 ifelse 函数将 -Inf 值更改为 0。

log_like_count = ifelse(log_like_count == "-Inf", 0, log_like_count)  

之后,您可以向数据框添加一个新变量,并再次 运行 模型,而无需使用对数函数。

data$log_like_count = log_like_count  
model = lm(log_like_count ~news_media, data = data)  
summary(model)