ggplot для проблем цикла - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь создать ggplots на основе уникальной переменной, используя цикл for, и испытываю следующие проблемы: * Это большой набор данных (по крайней мере, для моей вычислительной мощности) измерений дерева, поэтому у меня есть подмножествосделать их немного проще ... * Я рад использовать базовый сюжет, если это проще, они не должны быть красивыми!

  1. Когда я запускаю скрипт на меньшем наборе, графики печатаются в формате pdf, но они повторяются, сколько раз каждая уникальная переменная / переменная встречается в наборе данных (10-30 повторений).

  2. Когда я запускаю то же самоесценарий на большом подмножестве (единственное отличие - имя df), я получаю следующее:

geom_path: каждая группа состоит только из одного наблюдения. Вам нужно настроить эстетику группы? * Я попробовал aes (group = 1) и изменил типы переменных, но не повезло ...

Сценарий и тиббл ниже:

Попытка печати уникального цикла в pdf

p <- list()
for(i in 1:length(Egra$Unique_Tree_Code)) {
  p[[i]] <- list()
  data <- subset(Egra, Unique_Tree_Code == Unique_Tree_Code[i])
  p[[i]][[1]] <- ggplot(data, aes(RelHt,RelDOB)) + geom_line() +
    ggtitle(data$Unique_Tree_Code) + xlim(0, 1) + ylim(0 , 1.25)
  }


library(gridExtra)

pdf("plots.pdf", onefile = TRUE)
for (i in seq(length(p))) {
  do.call("grid.arrange", p[[i]])  
}
dev.off()

DF1

# A tibble: 851 x 4
    RelHt RelDOB RelDIB Unique_Tree_Code 
    <dbl>  <dbl>  <dbl> <chr>            
 1 0.0170  1.06   0.944 100 B05a 11 1 233
 2 0.0341  1.04   0.871 100 B05a 11 1 233
 3 0.0568  1.03   0.863 100 B05a 11 1 233
 4 0.0739  0.996  0.854 100 B05a 11 1 233
 5 0.114   0.957  0.841 100 B05a 11 1 233
 6 0.170   0.944  0.820 100 B05a 11 1 233
 7 0.227   0.936  0.811 100 B05a 11 1 233
 8 0.284   0.897  0.803 100 B05a 11 1 233
 9 0.341   0.828  0.730 100 B05a 11 1 233
10 0.398   0.815  0.721 100 B05a 11 1 233
# ... with 841 more rows

DF2

# A tibble: 1,772 x 4
    RelHt RelDOB RelDIB Unique_Tree_Code  
    <dbl>  <dbl>  <dbl> <chr>             
 1 0.0113  1.05   1.04  100 A05e 9.8 1 248
 2 0.0226  1.04   0.940 100 A05e 9.8 1 248
 3 0.0376  1.00   0.915 100 A05e 9.8 1 248
 4 0.0489  1      0.899 100 A05e 9.8 1 248
 5 0.0752  0.960  0.863 100 A05e 9.8 1 248
 6 0.113   0.923  0.847 100 A05e 9.8 1 248
 7 0.150   0.911  0.843 100 A05e 9.8 1 248
 8 0.188   0.867  0.827 100 A05e 9.8 1 248
 9 0.226   0.863  0.806 100 A05e 9.8 1 248
10 0.263   0.859  0.798 100 A05e 9.8 1 248
# ... with 1,762 more rows
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...