R中只有正值的数据框的回归
Posted
技术标签:
【中文标题】R中只有正值的数据框的回归【英文标题】:Regression in R for data frame with only positive values 【发布时间】:2022-01-08 21:13:16 【问题描述】:我需要对其中一个变量 (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 值。
有人知道我可以做些什么来运行正确的回归吗?
【问题讨论】:
可能相关stats.stackexchange.com/questions/443447/… 【参考方案1】:您收到此错误是因为当您对like_count
使用日志函数时,0 值返回到 -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)
之后,您可以在数据框中添加一个新变量并再次运行模型,而无需使用 log 函数。
data$log_like_count = log_like_count
model = lm(log_like_count ~news_media, data = data)
summary(model)
【讨论】:
以上是关于R中只有正值的数据框的回归的主要内容,如果未能解决你的问题,请参考以下文章