У меня есть подготовленная программа моделирования, которая создает 26 отдельных файлов, которые мне нужно одинаково очерчивать на графике в R - я планирую многократно запускать эту программу и, следовательно, пытаюсь создать цикл, который создает и сохраняет графики для всех 26 файлов для каждого запуска.
В тот момент, когда я запускаю функцию для создания графика, он удаляет все данные из входной электронной таблицы (т. Е. Размер файла изменяется от 1,2 МБ до 0 МБ) - раньше это не делалось, может кто-нибудь объяснить, что идет не так?
Образец моих данных:
Z X T
0 0 0
0 0.005 0
0 0.01 0
0 0.015 0
(и так далее для 84k строк)
Мой код:
# List all files in folder to be plotted
filenames <- list.files(path=".",
pattern="csv",
full.names=TRUE)
#Creates a contour plot in ggplot of the variable in xz space
makeplot <- function(filename) {
data <- read.csv(file = filename)
ggplot(data=data, mapping = aes(x = data[,2],
y = data[,1],
z = data[,3])) +
geom_raster(data=data, aes(fill=data[,3]), show.legend=TRUE, interpolate =
FALSE) +
scale_fill_gradient(limits=range(data[,3]), high = 'red', low = 'white') +
geom_contour(bins = 50, colour = "black") +
xlab(label = "Distance from ridge axis") +
ylab(label = "Depth") +
theme_classic()+
coord_cartesian(
ylim = c(0,1), xlim = c(0,2))+
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
guides(fill=guide_legend(title="Yb concentration")) +
theme(legend.position="bottom")
}
# Repeat plotting
for(f in filenames) {
makeplot(f)
}
Любая помощь будет оценена!