lundi 13 juillet 2020

R loop with different values

Is there a way to create loop indices different from each other, without going through the combinations like I did here with the if statement?

for (i in names(Category[,-c(1:2, 13:63)])){
for (j in names(Category[,-c(1:2, 13:63)])){
 for (z in names(Category[,-c(1:2, 13:63)])){
   for (t in names(Category[,-c(1:2, 13:63)])){
     for (k in names(Category[,-c(1:2, 13:63)])){
       for (m in names(Category[,-c(1:2, 13:63)])){
         for (l in names(Category[,-c(1:2, 13:63)])){
           for (r in names(Category[,-c(1:2, 13:63)])){
             for (s in names(Category[,-c(1:2, 13:63)])){
               for (d in names(Category[,-c(1:2, 13:63)])){
               if (z!=j & j!=i & z!=i & t!=z & t!=j & t!=i & k!=t & k!=z & k!=j & k!=i& m!=i & m!=z & m!=j & m!=t & m!=k & l!=i & l!=z & l!=j & l!=t & l!=k & l!=m & r!=i & r!=z & r!=j & r!=t & r!=k & r!=m & r!=l & s!=i & s!=z & s!=j & s!=t & s!=k & s!=m & s!=l & s!=r & d!=i & d!=z & d!=j & d!=t & d!=k & d!=m & d!=l & d!=r & d!=s ){
                 n<-n+1
                 assign(paste0("model_",n),lmer(
                   as.formula(
                     paste(
                       names(Category)[2], "~" ,paste(i, "+", j ,"+",z, "+",t,  "+",k,  "+",m, "+",l, "+",r, "+",s, "+",d), 
                       '+ (1|', names(Category)[1], ')' 
                     )
                     
                   ),
                   data=Category))      }}}}}}}}}}}

Aucun commentaire:

Enregistrer un commentaire