Как l oop имен в списке? - PullRequest
0 голосов
/ 14 июля 2020
target<-data.frame(q01=1,q03=1:10)
total<-list(t1=c('q02','q05'),t2=c('q01','q04'),t3=c('q03','q06'))

for(m in colnames(target)){
  for(j in total){
    print(names(j))
  }
}

Когда я запускаю вышеупомянутый скрипт, результат:

NULL
NULL
NULL
NULL
NULL
NULL

Мой ожидаемый результат:

t1
t2
t3
t1
t2
t3

Я не могу определить проблему, names(j) похоже, нет рабочий объем в л oop. В чем проблема?

1 Ответ

1 голос
/ 14 июля 2020

Перебирать индекс списка вместо всего списка:

for(m in colnames(target)){
   for(j in seq_along(total)) {
     print(names(total)[j])
   }
}

#[1] "t1"
#[1] "t2"
#[1] "t3"
#[1] "t1"
#[1] "t2"
#[1] "t3"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...