Можно ли создать для l oop замену фильтров и заголовков фрейма данных? - PullRequest
0 голосов
/ 04 марта 2020

Я рассчитываю пропорцию последовательностей для разных клад для блоков разных годов, используя это (звездочки добавлены, чтобы показать области, которые я собираюсь заменить):

china_data$**arcticAL1a**[1]<-China %>%
  filter(sequence.latest_collection_year %in% (1930:2002)) %>%
  filter(alignment.displayName == "**Arctic AL1a**") %>%
  summarise(n=n())/china_data$totals[1]

Где Китай - кадр данных со всей информацией, и я создаю новую базу данных с именем china_data, которая подсчитывает общее количество последовательностей для блока года и пропорцию тех последовательностей, которые находятся в каждом класте.

Есть ли способ автоматически менять клады в областях, которые я пометил в коде? Я пытался создать для l oop:

clades<-c('Arctic AL1a', 'Arctic AL2a', 'Asian', 'Asian SEA1a', 'Asian SEA1b', 
          'Asian SEA2a', 'Asian SEA3', 'Cosmopolitan', 'Cosmopolitan AF1a', 'Cosmopolitan CA1', 'Cosmopolitan Vac')

for (i in clades) {
  china_data$[i]<-China %>%
    filter(sequence.latest_collection_year %in% (1930:2002)) %>%
    filter(alignment.displayName == [i]) %>%
    summarise(n=n())/china_data$totals[1]
}

Но это не сработало. Есть ли способ сделать это, или мне нужно будет повторять каждый бит 12 раз и записывать в кладах вручную?

...