2
我試圖繪製一個beeswarm情節(http://www.cbs.dtu.dk/~eklund/beeswarm/),我得到它的工作,現在我想寫一個小R腳本來自動化的東西。我想給這個R腳本的輸入是來自STDIN,我無法從STDIN讀取數據。如何在R腳本中讀取管道中的stdin?
這裏是我的[R腳本:
args <- commandArgs(TRUE)
f1 <- args[1]
plotbeeswarm <- function(output){
library(beeswarm)
f <- read.table(stdin(), header=TRUE)
png(output, width=800, height=800)
beeswarm(Data ~ Category, data=f, pch=16, pwcol=1+as.numeric(sample),
xlab="")
}
plotbeeswarm(f1)
我認爲是輸入文件是如何被讀取並處理到f中的問題。任何人都可以幫我修復我的代碼?非常感謝!
不要忘記dev.of f() – baptiste
你可能會覺得這很有用:http://stackoverflow.com/a/15785789/1201032 – flodel
嘗試使用file()而不是stdin()。此外,read.table將讀取直到發送EOF,因此如果您正在讀取一堆數據,則腳本可能會掛起。 f < - read.table(file(「stdin」,r),header = TRUE) – BikerJared