仅使用两个系数退位

时间:2019-03-12 03:05:28

标签: r dataframe

数据集

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

1 个答案:

答案 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将转换为数值以进行回归,但您也可以自己进行。

但是现在真正的问题是:为什么在这里使用线性回归?您是否真的期望线性关系,通话随时间增加或减少?