我正在尝试执行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
答案 0 :(得分:4)
三件事:
就像影子说的那样,你在随机参数中错过了一个等号。
lme
有一个data
参数,可以阻止您编写带有$
个符号的丑陋代码。
隐含地包括拦截。
summary(model <- lme(x ~ grp + var, mydata, random = ~ 1 | id))