1

こんにちは、各反復で新しい予測変数が使用されるループ関数を実行しようとしていますが、次のエラーが発生します。

Error in model.frame.default(formula = ~age_c + zglobcog + apoee4_carrier +  : 
  variable lengths differ (found for 'i') 

使用したデータは、次の Google ドライブ スプレッドシートから取得できます。
https://docs.google.com/spreadsheets/d/18yll44P25qsGqgZw4RPTMjlGJ0aNLCp-vYugCD7GPk8/pubhtml

library(nlme)  
snplist <- names(mydata)[5:7]

models <- lapply(snplist, function(x){
   lme(zglobcog ~ age_c + factor(apoee4_carrier) + age_c*factor(apoee4_carrier) + 
   substitute(factor(i) + age_c*factor(i), list(i = as.name(x))), 
   data = mydata, random = ~ age_c | pathid, method = "ML", na.action = na.exclude)
})

for ループも使用してみましたが、同じエラーが発生しました。

for (i in snplist) {
   lme(zglobcog ~ age_c + factor(apoee4_carrier) + 
   age_c*factor(apoee4_carrier) + factor(i) + age_c*factor(i), 
   data = mydata, random = ~ age_c | pathid, method = "ML", na.action = na.exclude)
}

この問題を解決するにはどうすればよいですか?

ありがとう

4

1 に答える 1