У меня есть пространственный фрейм данных с местами выборки и множеством переменных. Я хотел бы создать пространственный график для каждой переменной в цикле For. Я использовал для этого spplot, который работает для одной переменной, когда я удаляю цикл. Ниже у меня есть краткое описание базы данных и цикла, который я сделал до сих пор. Как я могу построить цикл For, чтобы он создавал отдельные графики для каждой переменной?
class : SpatialPointsDataFrame
features : 47
extent : -96.57795, -96.56407, 39.10135, 39.10672 (xmin, xmax, ymin, ymax)
coord. ref. : +init=epsg:4269 +proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0
variables : 18
names : Sample_id, x, y, bulk_density, Percentage_SOM, Clay, Silt, Very_fine_sand, fine_sand, medium_sand, stone, Composite_depth, percentage_water, percentage_roots, Percentage_SOM_20cm, ...
min values : KLTER/K20A-1, -96.56407, 39.10135, 550.7, 6.9, 3.9, 66.9, 7.4, 0.0, 0.0, 0.1, 7.3, 16.8, 0.10, 4.2315, ...
max values : KLTER/K20A-9, -96.57795, 39.10672, 1031.8, 15.1, 8.5, 85.8, 18.5, 9.0, 5.2, 13.7, 20.0, 30.2, 2.16, 11.2000, ...
df <- K20A_sp3
for(i in names(df))
{
if(is.numeric(df[3,i]))
{
spplot(df, names(zcol= i),
scales=list(draw=T),
cex = 1.4,
main="Watershed K20A",
col.regions=brewer.pal(6, "Oranges"))
dev.off()
}
}
Цикл с созданием файла .png
for(i in names(df))
{
if(is.numeric(df[3,i]))
{
dev.new()
mypath <- file.path("C:", "Users", "Ilona", "Documents", "A master thesis", "7.Rstudio", paste("Point_K20A_", i, ".png", sep=""))
png(file=mypath)
print(spplot(df, names(zcol= i),
scales=list(draw=T),
cex = 1.4,
main= paste("Watershed K20A_", i, sep = ""),
col.regions=brewer.pal(6, "Oranges")
sp.layout(K20A_DEM))))
dev.off()
}
}
?png
или?pdf
). Вы получаете сообщение об ошибке, например:Error in dev.off() : cannot shut down device 1 (the null device)
? - person rcs   schedule 16.02.2017data.frame
и построить их с помощьюggplot2
. Чтобы преобразовать пространственные объекты вdata.frame
, вы можете использоватьfortify
. После этого можно построить график нескольких переменных с помощью фасетирования. - person Paul Hiemstra   schedule 16.02.2017dev.new()
, если вы хотите создать файл PNG - person rcs   schedule 16.02.2017