как построить каждую строку отдельно и сохранить ее с именем строки - PullRequest
0 голосов
/ 25 января 2019

Я прочитал это Построить все строки фрейма данных с помощью ggplot

Я пытаюсь построить каждую строку данных и сохранить ее

df <- structure(list(X1 = c(0.006605138, 0.001165448, 0.006975109, 
0.002207839, 0.00187902, 0.002208638, 0.001199808, 0.001162252, 
0.001338847, 0.001106317), X2 = c(0.006041392, 0.001639298, 0.006140877, 
0.002958169, 0.002744017, 0.003107995, 0.001729594, 0.001582564, 
0.001971713, 0.001693236), X3 = c(0.024180351, 0.002189061, 0.027377442, 
0.002886651, 0.002816333, 0.003527908, 0.00231891, 0.001695633, 
0.00212034, 0.001962923)), row.names = c("AA", "AB", "AC", "AF", 
"AD", "JJ", "JA", "NM", "KA", "LF"), class = "data.frame")

Я пытаюсь построить его один за другим, а затем сохранить так:

plot(df[1,],length(df),type="l")

enter image description here

1 Ответ

0 голосов
/ 25 января 2019

Вы можете преобразовать свои данные в длинный формат, чтобы все x и y шнуры были в столбцах, а затем использовать dlply для построения каждого имени (которое раньше было каждой строкой) отдельно.Также можно добавить вызов для сохранения графиков там, если это необходимо.

library(plyr)
library(tidyverse)
df_l <- df %>% rownames_to_column("Name") %>% gather(Var, Value, -Name) %>%
  arrange(Name) %>% group_by(Name) %>% mutate(n=row_number()) 

plotlist <- dlply(df_l, .(Name),
                  function(x) ggplot(x, aes(x = n, y = Value))+
                       geom_point()+geom_line())

Или сохранить вместо присвоения переменной

d_ply(df_l, .(Name),
                  function(x) (ggplot(x, aes(x = n, y = Value))+
                    geom_point()+geom_line()) %>% 
       ggsave(., filename =  paste0("plt", x$Name[1],".jpg")))

, если вы хотите, чтобы они были в текущем рабочем каталоге

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