首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中的pdftools在不同的机器上执行不同的操作

在R中的pdftools在不同的机器上执行不同的操作
EN

Stack Overflow用户
提问于 2017-10-25 00:51:01
回答 1查看 224关注 0票数 0

我注意到一个问题,在R中的pdftools包在我的Windows 7机器上本地运行与我通过ssh在共享Ubuntu服务器上运行它时,执行起来似乎不同。

我的代码:

代码语言:javascript
复制
download.file("http://www.nber.org/lbid/docs/LinkCO95Guide.pdf",
          "1995codebook.pdf", 
          mode = "wb", 
          method = "libcurl")
codebook <- pdf_text("1995codebook.pdf")

在我的本地windows 7机器上,对象代码本显示为“大字符(258个元素,710.2 Kb)",而在Ubuntu服务器上则显示为”大字符(258个元素,701.9 Kb)“。

正如您可能想象的那样,这对我在下游造成了问题,在我的本地机器上工作的代码在Ubuntu服务器上没有产生相同的结果。查看代码本中包含的文本,我立即注意到的第一个区别是,在Windows上生成的版本有"\r\n“,而在Ubuntu上生成的版本只有"\n”(我依赖下游的"\r\n“)。

为什么那个角色系列会有所不同?这可能与编码有关吗?任何帮助都会感谢是什么造成的,以及我如何在这两台机器上得到相同的结果。

最后要提到的一点是:为了安装pdftools,我不得不在Ubuntu服务器上的主目录(没有sudo访问权限)上安装poppler库:

代码语言:javascript
复制
apt-get source poppler
cd poppler-0.24.5
./configure --prefix=$HOME/myapps
make
make install
export PKG_CONFIG_PATH=$HOME/myapps/lib/pkgconfig

在这样做之后,install.packages("pdftools")似乎运行正常。和pdftools没有问题加载。所以如果安装不好,我不知道哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-25 02:26:15

有几件事:

  • Windows有不同的行尾,这是广泛记录。仅这一点就说明了大小的差异。
  • 即使在下载之后,您也可以在两种约定之间进行转换。这样做的一个工具是dos2unix,您可以通过apt-get install dos2unix获得它
  • 你把你的生活弄得太复杂了。作为pdftools的脚本说,只需通过apt-get install libpoppler-cpp-dev安装库即可

但是:大多数正常的程序(包括R)都相同地对待\r\nn,所以导入的数据应该是相同的。如果没有,请使用dos2unix或同等工具进行必要的转换。从长远来看,您希望您的代码不受关注。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46922193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档