Сохранить несколько графиков R в отдельном JPG

Уважаемые Stackru'ers!

У меня есть простая база данных, приложение. 130 переменных, 1500 записей и множество подобных графиков для создания. Я стараюсь не сохранять их вручную. Цикл for отлично работает для графиков (в RStudio).

Вот данные как.csv на Dropbox.

data <- read.csv2("data.csv", header=TRUE)
data <- select(data,v1,v2,v3,v4,v5,v6,v7)

for (i in data) {
    sjp.frq(i)
}

Я хотел бы сохранить графики в некотором каталоге как отдельные файлы.png или.jpg. Я нашел некоторые подсказки здесь. Код выглядит так:

data <- select(df,v1,v2,v3,v4,v5,v6,v7)
variables <- names(data)

for (i in data) {
  png(paste0("plots/plot_",names(data)[i],".png"))
    sjp.frq(i)
  dev.off()
}

Я намеренно упростил выражение sjp.frq, чтобы не усложнять код.

И вот проблема. Я получаю только один файл.png в папке. Где я могу ошибиться? Их должно быть семь.

С наилучшими пожеланиями, MaciejB.

PS. Я последовал предложению сделать код воспроизводимым и добавил образец моей базы данных. Когда я использую то есть радужную оболочку, это работает. Кажется, что-то не так с моими данными, может быть, некоторые НС? Но когда я использовал na.omit(), то же самое.

PS.2 Я проверил другие функции построения графиков, такие как Hist() или plot(), но это то же самое. Только один сюжет создан и сохранен.

1 ответ

Решение

Это работает здесь!

data1 <- read.csv2("~/Temp/data.csv", header=TRUE)
data <- select(data1,v1,v2,v3,v4,v5,v6,v7)
variables <- names(data)
dane=1:length(variables)
for (i in dane ) { #i=2
  png(paste0("Temp/plot_",names(data)[i],".png"))
  sjp.frq(data[,i],title = names(data)[i])
  dev.off()
}

Здесь 3 из всех участков:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

Другие вопросы по тегам