Чтобы получить имя переменной y, вы можете использовать
deparse(substitute(y))
, как предложено Свеном Хоэнштейном ({ ссылка }).
Если вы хотите экспортировать изображение, вы можете дать R каталог для сохранения изображения. Вы можете установить стандартный путь к вашему рабочему каталогу, примерно так:
Schritt1 <- function(y, dir=F){
if(!dir){
directory <- getwd()
}else{
directory <- dir
}
name <- deparse(substitute(y))
pdf(file=paste(dir, "/", name, ".pdf", sep = ""))
interaction.plot(x$`Single Posture`, x$Sex, y)
dev.off()
}
Если в аргументах функции не задан каталог, в этом случае в рабочем каталоге будет сохранен pdf выходного графа. Другие устройства, такие как jpeg, должны использоваться аналогично устройству pdf.
Чтобы создать два изображения, вам нужно только дважды вставить «часть изображения» в вашу функцию:
Schritt1 <- function(y, dir=F){
if(!dir){
directory <- getwd()
}else{
directory <- dir
}
name <- deparse(substitute(y))
#image one
pdf(file=paste(dir, "/", name, "1.pdf", sep = ""))
interaction.plot(x$`Single Posture`, x$Sex, y)
dev.off()
#image two
pdf(file=paste(dir, "/", name, "2.pdf", sep = ""))
interaction.plot(x$Person, x$Pos, y)
dev.off()
}
Что касается графиков взаимодействия, я не уверен, можно ли просто редактировать имена осей, вы можете просто попытаться включить ylab :
Schritt1 <- function(y, dir=F){
if(!dir){
directory <- getwd()
}else{
directory <- dir
}
name <- deparse(substitute(y))
#image one
pdf(file=paste(dir, "/", name, "1.pdf", sep = ""))
interaction.plot(x$`Single Posture`, x$Sex, y, ylab= paste("mean of", name, sep= " "))
dev.off()
#image two
pdf(file=paste(dir, "/", name, "2.pdf", sep = ""))
interaction.plot(x$Person, x$Pos, y, ylab= paste("mean of", name, sep= " "))
dev.off()
}