

Rでlmeモデルを使った解析をしようとしていますが、以下のように解析しようとするとエラーが出てしまいます。原因を調べてみましたがわかりません。

データの形はdataframeであり、列の型はcharacterとintが混在しています。

**コード:**

[code]

    data <- read.table("data.txt",header=T,sep="\t")
    library(lme4)
    library(nlme)
    model1 <- lme(y ~ x1+x2+x3+x4+x5,random=~1|data$Subject,data)
    
[/code]

**エラーメッセージ:**

[code]

    Error in model.frame.default(formula = ~y + x1 + x2 +  : 
      invalid type (list) for variable 'data'
    
[/code]


CC BY-SA 4.0
2022-12-19T08:22:04.940
92891
2023-03-16T13:59:47.360
2022-12-20T13:35:26.297
47127
56094
question
r
Rでlmeを用いた解析をする際のエラー；invalid type (list) for variable 'data'


下記にコードと出力を示しますが，`lme4` パッケージに含まれる [sleepstudy
dataset](https://search.r-project.org/CRAN/refmans/VCA/html/sleepstudy.html)
を解析してもエラーは再現します。

[code]

    library(lme4)
    library(nlme)
    
    data <- sleepstudy
    head(data)
    model1 <- lme(Reaction ~ Days, random=~1|data$Subject, data)
    
[/code]

[code]

       Reaction Days Subject
     1 249.5600    0     308
     2 258.7047    1     308
     3 250.8006    2     308
     4 321.4398    3     308
     5 356.8519    4     308
     6 414.6901    5     308
    Error in model.frame.default(formula = ~Reaction + Days + data + Subject,  :
       invalid type (list) for variable 'data'
    
[/code]

エラーメッセージによると `formula` に `data` も含まれています。そこで，下記を試してみるとエラーは発生しなくなりました。

[code]

    model1 <- lme(Reaction ~ Days, random=~1|Subject, data)
    print(model1)
    
[/code]

[code]

    Linear mixed-effects model fit by REML
       Data: data
       Log-restricted-likelihood: -893.2325
       Fixed: Reaction ~ Days
     (Intercept)        Days
       251.40510    10.46729
    
     Random effects:
      Formula: ~1 | Subject
             (Intercept) Residual
     StdDev:    37.12383 30.99123
    
     Number of Observations: 180
     Number of Groups: 18
    
[/code]


CC BY-SA 4.0
2023-03-16T13:59:47.360
94208
2023-03-16T13:59:47.360
54588
92891
answer