Я хотел бы создать цикл for, который читает несколько таблиц из базы данных SQLite. Я бы хотел, чтобы он прочитал первые 300 таблиц, но в идеале я бы хотел, чтобы он читал 300 случайных ...

0
John Huang 10 Апр 2021 в 05:03

1 ответ

Лучший ответ

Если есть 1000 таблиц, вы можете использовать sample, чтобы получить из них случайные 300, создать список длиной 300 для хранения графиков, и если вы хотите построить их вместе, вы можете использовать cowplot::plot_grid.

random_tables <- sample(1000, 300, replace = TRUE)
plot_list <- vector('list', 300)

for (i in seq_along(random_tables)){
  # Reads the selected table in database
  ind1 <- dbReadTable(mydb, random_tables[i])
  
  #...Rest of the code
  #....
  #....
  # Plot NSD
  plot_list[[i]] <- ggplot(ind_steps, aes(x = t2, y = NSD)) + 
                    geom_line() + theme_bw()
}

cowplot::plot_grid(plotlist = plot_list, nrow = 30, ncol = 10)
2
Ronak Shah 10 Апр 2021 в 02:20