使用lme函数时,错误“无法将类”“公式”“强制转换为”data.frame“

时间:2013-10-16 11:39:46

标签: r

我正在尝试执行lme函数,如下所示

mydata <- read.table(
    "H:/edu/Multivariat/HCMpart2.TXT", header=TRUE, sep="\t",
    na.strings="*", dec=",", strip.white=TRUE
)
mydata = data.frame(mydata)

summary(lme(mydata$x~1+mydata$grp+mydata$var, random~1|mydata$id))

其中x包含我的值,grp和var表示导致x值的组和变量,id是患者的id。

HCMpart2.txt包含带有“id grp var x”的标题,其中包含中间标签和所有这些标签的相应值。我曾尝试使用“as.numeric”函数将因子转换为数值因子,但它没有完成我的问题。

当我尝试执行lme函数时,我得到以下内容

Error in as.data.frame.default(data) : 
cannot coerce class '"formula"' into a data.frame

有人可以帮忙吗?我的印象是我做的一切都正确...... 问候 Cenderze

1 个答案:

答案 0 :(得分:4)

三件事:

就像影子说的那样,你在随机参数中错过了一个等号。

lme有一个data参数,可以阻止您编写带有$个符号的丑陋代码。

隐含地包括拦截。

summary(model <- lme(x ~ grp + var, mydata, random = ~ 1 | id))