Как построить график, на котором достаточно данных? - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю с большим набором данных о весе и размерах диких животных, которые я делю на более мелкие разделы по дате (сезон 1, сезон 2 и т. Д.).Я написал функцию для создания графиков в ggplot2 для каждого отдельного животного, но некоторые животные были пойманы настолько редко, что их данные по сути бессмысленны.

Как я могу изменить эту функцию только для графических животных, которые встречаются в данном подмножестве более 3 или 4 раз?

Вот такая у меня функция:

individual_graph <- function(animal_number){
  a_plot <- ggplot(data=animal_number, aes(x=Date, y=Weight)) +
    geom_point() +
    theme_bw() +
    ggtitle(animal_number$Number)+
    NULL

  return(a_plot)
}

А вот цикл for, который я использую для генерации графиков:

  graph_list <- list(NULL)
for(animal_id in (unique(season_1$Number))){
  a <- individual_graph(season_1[Number==animal_id])
  graph_list <- c(graph_list, list(a))
}

plot_list

1 Ответ

0 голосов
/ 22 февраля 2019
table(animal_number) 

говорит вам, какое животное видели, сколько раз (отсортировано по animal_number).

seen3times<-sort(unique(animal_number))[tabulate(factor(animal_number))>3]

выдаст вам уникальные номера животных для всех, кто был замечен по крайней мере 3 раза, тогда использование

data[which(animal_number==seen3times)]

должно отфильтровать ваши данные соответственно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...