数据集
https://drive.google.com/file/d/1k_fVtpMKf9_4rUsKXkNQ9-it7hHzKs7U/view?usp=sharing
PHONE <- read.csv(file = "~/Desktop/311NY.csv")
Data311 = PHONE$count
Data311 = PHONE[,2]
Data311
plot(Data311, type="o", col="orange", xlab="Date", ylab="Calls", main="Time Series Analysis of 311 Calls")
abline(lm(Calls~Date, data=PHONE), col="black" )
int_abline中的错误(a = a,b = b,h = h,v = v,untf = untf,...):
plot.new尚未被调用
此外:警告消息:
以斜线显示(lm(通话〜日期,数据=电话),col =“黑色”):
仅使用365个回归系数中的前两个
我一直收到此错误消息,并附有一个空白图表。 我已经尝试了以下方法来排除故障。
plot(Calls ~ Date, data =PHONE)
model <- lm(Calls ~ as.numeric(as.character(Date)), data=PHONE)
lm.fit(x,y,offset = offset,singular.ok = singular.ok,...)中的错误:
0(非NA)例
此外:警告消息:
在eval(predvars,data,env)中:强制引入的NAs
答案 0 :(得分:1)
这里有很多单独的问题。
首先,Data311 <- PHONE$count
不起作用,因为PHONE
没有名为count
的列。如果您不想使用PHONE$Calls
,则需要PHONE[, 2]
。
第二,plot.new has not been called yet
表示您的情节由于某种原因而无法使用。目前尚不清楚为什么您发布的代码在Data311
存在的情况下似乎应该可以工作。
第三,lm()
不能按预期工作,因为Date
列属于“因子”类,而不是“日期”类。因此,线性回归将每天视为一个因素,因此出现了消息only using the first two of 365 regression coefficients
。
因此:假设您有PHONE
,请先将“日期”转换为“日期”:
PHONE$Date <- as.Date(PHONE$Date, "%m/%d/%y")
plot
不起作用的原因:
plot(PHONE$Calls,
type = "o",
col = "orange",
xlab = "Date",
ylab = "Calls",
main = "Time Series Analysis of 311 Calls")
如果abline()
现在为date类型,那么您的Date
应该可以工作。 R将转换为数值以进行回归,但您也可以自己进行。
但是现在真正的问题是:为什么在这里使用线性回归?您是否真的期望线性关系,通话随时间增加或减少?