【问题标题】:How to read a file that is located on a linux server using R如何使用 R 读取位于 linux 服务器上的文件
【发布时间】:2015-03-01 01:12:23
【问题描述】:

我有一个 CSV 文件,我想处理它我尝试使用此代码读取它

d = read.table( pipe( 'ssh don@140.184.134.189 "cat cluster.csv"' ), header = T )

但我没有得到任何结果并收到此消息:

“读取表错误”

没有询问我的密码。

另外,如何运行位于同一服务器上的 R 脚本 fes.r?

【问题讨论】:

  • 也许先挂载目录是最好的解决方案。这可以使用sshfs 来完成。从理论上讲,您还可以在 R 中使用 system() 执行 mount 命令

标签: r csv


【解决方案1】:

你可以先试试这个,按照你的思路继续:

> d <- read.table(pipe('ssh -l don 140.184.134.189 "cat cluster.csv"'))
don@140.184.134.189 password: # type password here

如果您没有提示您输入密码,那么您的 ssh 可能存在配置问题。请注意ssh 必须安装在你的$PATH 中(这意味着R 可以从它运行的任何地方调用它)。

如果此选项不起作用,那么您可以尝试使用 RCurl 包中的 scp

尝试以下方法:

x = scp("140.184.134.189", "cluster.csv", "PASSPHRASE", user="don")

这里您应该将“PASSPHRASE”替换为您本地 SSH 密钥的密码。

要检查的另一件事是“cluster.csv”是否真的是远程服务器上文件的正确路径。不过好像还没有走到这一步,先解决ssh的问题吧。

this Stack Overflow 发帖寻求灵感。

【讨论】:

  • 我在运行此代码时安装了 RCurl 包 x = scp("140.184.134.189", "cluster.csv", "PASSPHRASE", user="don") 我收到此消息错误:找不到函数“scp”另外:有21个警告(使用warnings()查看)
  • 您是否尝试使用命令install.packages("RCurl") 安装RCurl
  • 我第一次使用列表下载这个包然后我使用了这个代码,我收到了这个消息 nstalling package into '/Users/badrmansour/Library/R/3.1/library' (as ' lib'未指定)从'pkgs'推断'repos = NULL'尝试URL'cran.mtu.edu/bin/macosx/mavericks/contrib/3.1/…'内容类型'application / x-gzip'长度718964字节(702 Kb)打开的URL我从R站点下载了这个包,我没有知道我现在必须做什么
  • 您能否尝试在控制台中输入require("RCurl") 并让我们知道您看到了什么。如果没有安装 RCurl,或者缺少任何依赖项,R 应该输出这个。
  • 我知道了 require("RCurl") 正在加载所需的包:RCurl 正在加载所需的包:bitops
【解决方案2】:

您可以采取不同的方法,在您的远程 linux 机器上安装 Rstudio 服务器。

Rstudio server

【讨论】:

  • 这假设 Don 可以使用 R 的浏览器界面。
【解决方案3】:

您可以通过设置 ssh 密钥对,并将您的公钥添加到服务器上的 ~/.ssh/authorized_keys 文件中来避免密码问题。

您可以在此处查看如何从命令行运行 R 脚本:Run R script from command line

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 2015-03-05
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多