我想编写一个函数,它接受一个文件名并在*nix平台上生成一个.pdf文件,在Windows平台上生成一个.wmf,文件名和宽度为6英寸4.
graph <- function(filename){
setwd("graphics")
ext <- ifelse(.Platform$OS.type == "unix", "pdf", "wmf")
name <- paste(filename, ext, sep=".")
ifelse(.Platform$OS.type == "unix", pdf(name, width=6, height=4), wmf(name, width=6, height=4))
}
Run Code Online (Sandbox Code Playgroud)
这是我的尝试,但我收到了这个错误
ans [test&!nas]中的错误< - rep(yes,length.out = length(ans))[test&:replacement的长度为零
有任何想法吗?我觉得我忽视了什么.
这是一个更精致的功能版本.改进:
- >
graph <- function(filename) {
ext <- if(.Platform$OS.type == "unix") "pdf" else "wmf"
dev <- match.fun(ext)
path <- paste("graphics/", filename, ".", ext, sep = "")
dev(path, width = 6, height = 4)
}
Run Code Online (Sandbox Code Playgroud)