2013-02-20 58 views
5

這應該很快回答:如何從字符串變量創建文本連接?

我想使用jags包'jags.model函數。在衆多的參數,它需要的參數file

file - 包含模型的描述中 的BUGS語言的尖齒方言的文件名。

或者,文件可以是 可讀的文本模式連接或完整的URL。

我想將字符串傳遞給此參數。解決此問題的一種方法是將字符串寫入臨時文件並傳遞文件名。但我希望有一種直接的方式將字符串轉換爲連接。

回答

7

您可以使用textConnection像這樣的(這裏用read.csv功能,但我想應該jags.model工作方式相同):

mytext <- "x,y\n1,2\n3,4" 
read.csv(textConnection(mytext)) 
# x y 
# 1 1 2 
# 2 3 4 
+0

完美的作品! – 2013-02-20 13:45:26

1

我只想補充約textConnection一個小點。當我在一個大for循環中使用jags.model(textConnection(x)...)時(即,超過125次迭代),偶爾會遇到問題。從本質上講,似乎textConnections正在打開,但沒有關閉,然後我會最終收到一個錯誤後,可能textConnections已被打開,說明all connections are in use

我不能完全肯定的最佳解決方案,但我相信你可以這樣做:

zz <- textConnection(x) 
jags.model(zz, ...) 
close(zz)