2015-01-15 152 views
0

我正在嘗試使用Windows計算機SSH進入Mac服務器,運行程序並將輸出數據傳輸回Windows。我已經能夠成功地使用Putty手動執行此操作。從R內運行Plink

現在,我試圖使用Plink自動化該過程。我已經添加的Plink到我的Windows路徑,所以如果我在命令打開CMD和類型,我可以成功登錄,並通過命令到服務器: Works manually!

不過,我想這個,使用R自動化,簡化數據分析過程。基於一些搜索,互聯網似乎認爲shell命令最適合這項任務。不幸的是,它似乎並沒有找到的Plink,雖然通過shell傳遞命令到終端工作:

Plink not recognized

如果我嘗試同樣的事情,但手動設置的路徑使用shell到砰砰,無輸出回來了,但命令似乎沒有運行(例如未創建TESTFOLDER):

enter image description here

沒有人有原因的Plink是不可用的任何想法,當我嘗試與R打電話了嗎?或者,如果還有其他想法可以在R中實現,那也是值得讚賞的。

由於提前, -SAM

回答

2

我來到這裏尋找一個答案這個問題,所以我只有這麼多的提供,但我認爲我設法PLINK的初始步驟的工作中[R使用shell函數...

這是對我工作:

在R:

然後,在R:

## Set your working directory as the path to the PLINK program files: ## 
setwd("C:/Program Files/plink-1.07-dos") 

## Use shell to check that you are now in the right directory: ## 
shell("cd") 

## At this point, the command "plink" should be at least be recognized 
# (though you may get a different error) 
shell("plink") 

## Open the PLINK example files ## 
# FYI mine are in "C:/PLINK/", so replace that accordingly... 
shell("plink --file C:\\PLINK\\hapmap1") 

## Make a binary PED file ## 
# (provide the full path, not just the file name) 
shell("plink --file C:\\PLINK\\hapmap1 --make-bed --out C:\\PLINK\\hapmap1") 

...等等。

這就是我迄今爲止所做的。但幸運的是,鏡像這些代碼行的結構和一般格式應該允許您從R內執行PLINK的操作。

希望有所幫助!

PS。當您運行上面的行時,PLINK輸出應該只在您的R控制檯中打印。

一切順利,
- CC。

+0

謝謝Caitlin-我會在未來給這個鏡頭,看看它是否有幫助!我更新了下面找到的解決方案,以防它對您有所幫助。 –

+0

@CaitlinCollins,我認爲你在混合[命令行ssh工具plink](http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter7.html),這似乎是OP是什麼要求[基因組分析程序plink](http://zzz.bwh.harvard.edu/plink/) – Empiromancer

0

剛看到凱特琳的迴應,它提醒我我沒有更新過我的解決方案。我的方法是一種解決方法,而不是解決我的具體問題,但它可能對其他人有用。

增加的Plink我的路徑後,我創建在Windows中含有我所有的Plink命令的批處理腳本,然後使用命令shell稱爲來自R批處理腳本:

所以,在R:

shell('BatchScript.bat') 

該腳本包含所有我的命令,我想在的Plink使用批處理:

:: transfer file to phosphorus 
pscp C:\Users\Sam\...\file [email protected]**.**.208:/home/zipper/ 

:: open connection to Dolphin using plink 
plink -ssh [email protected]**.**.208 Batch_Script_With_Remote_Machine_Commands.bat 

:: transfer output back to local machine 
pscp [email protected]**.**.208:/home/zipper/output/ C:\Users\Sam\..\output\ 

希望幫助別人!