不幸的是我是r的初学者。我想在r中使用comand lm运行一个简单的线性回归模型,但每次尝试时都会出现以下错误:
xj [i]中的错误:无效的下标类型'closure'
回归模型如下:
REG1 <- lm(flowpercent~ret+tna+fundage+number_shr_cl,data = reg, na.omit)
#-flowpercent is a calculated variable:
reg$flowpercent <- reg$flow_dollar/lag(reg$tna, n=1)
#-fundage is also calculated:
reg$fundage <- as.numeric(difftime(ref_date,reg$InceptionDate, units = "days")/365.25)
ret
,tna ,
number_shr_cl
是数据库中的变量
非常感谢提前。
答案 0 :(得分:1)
你的第三个论点是na.omit
。你可能看到有人在写na.action = na.omit
之类的东西。但是,如果您通过键入lm
查找?lm
的帮助,您会看到:
Usage:
lm(formula, data, subset, weights, na.action, ... # etc
告诉您lm
的第三个参数是subset
。因此,您将名为na.omit
的对象传递给subset
参数,lm
尝试用于对数据进行子集化。不幸的是,na.omit
是一个R函数(又称“闭包”)。毫不奇怪,R不知道如何使用此函数来对数据进行子集化。因此错误。