从 R 打开 pdf 文件

aym*_*er 6 pdf r

我正在尝试从 R 打开一个 pdf 文件。为此,我使用openPDF() Biobase 包中的函数。如果文件路径不包含单词之间的空格(例如"/Users/Admin/Desktop/test.pdf"),则它可以正常工作,但如果路径包含空格(例如/Users/Admin/Desktop/**My Project**/test.pdf),则它不起作用。我怎样才能让它接受任何路径或者我应该如何自动转换给定的路径以便被 识别openPDF()?我还希望它能够在 mac 和 windows 上运行。这是代码:

library(Biobase)
pdf("test.pdf")
plot(1:10)
dev.off()
openPDF(paste(getwd(), "/test.pdf", sep=""))
Run Code Online (Sandbox Code Playgroud)

Cep*_*irk 6

不需要外部包。这将与基本 R 函数一起使用system()

对于 Mac/Unix:

path = '/path/to/file.pdf'
system(paste0('open "', path, '"'))
Run Code Online (Sandbox Code Playgroud)

对于电脑:

path = '\path\to\file.pdf'
system(paste0('start "', path, '"'))
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望固定路径,则可以将其直接合并到paste0字符串中并在一行中完成:

system('open "/path/to/file.pdf"')
Run Code Online (Sandbox Code Playgroud)

  • `system(paste0('open "', path, '"'))` 适用于 Windows。 (2认同)

Ric*_*ton 4

这是 中的一个错误openPDF。您可以通过拨打电话来解决这个问题normalizePath

openPDF(normalizePath("test.pdf"))
Run Code Online (Sandbox Code Playgroud)

根据记录,openPDF它只是 Windows 下的包装器shell.exec,因此您可以直接调用它。