Сохранить несколько графиков 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 из всех участков: