如何使用R读取位于Linux服务器上的文件

时间:2015-02-28 15:47:33

标签: r csv

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

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

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

"读取表中的错误"

不询问我的密码。

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

3 个答案:

答案 0 :(得分:2)

你可以先试试这个,继续你所在的路线:

> 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可以从正在运行的任何地方调用它)。

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

尝试以下方法:

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

在这里,您应该使用本地SSH密钥的密码替换“PASSPHRASE”。

要检查的另一件事是“cluster.csv”是否确实是远程服务器上文件的正确路径。但似乎你甚至没有达到这个目的,所以首先解决ssh问题。

帽子提示到this Stack Overflow帖子以获取灵感。

答案 1 :(得分:1)

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

Rstudio server

答案 2 :(得分:1)

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

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