如何从字符串变量创建文本连接?

时间:2013-02-20 11:29:01

标签: r

这应该很快回答:

我想使用jags包'jags.model函数。在许多论点中,它需要参数file

  

file - 包含模型描述的文件的名称   BUGS语言的JAGS方言。

     

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

我想将字符串传递给此参数。解决此问题的一种方法是将字符串写入临时文件并传递文件名。但我希望有一种直接的方法将字符串转换为连接。

2 个答案:

答案 0 :(得分:8)

您可以像这样使用textConnection(此处使用read.csv功能,但我猜jags.model的工作方式应该相同):

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

答案 1 :(得分:1)

我只想添加一个关于textConnection的小点。当我在一个大的for循环中使用jags.model(textConnection(x)...)时(即超过125次迭代),偶尔会遇到问题。从本质上讲,似乎textConnections正在打开,但没有关闭,然后我最终会收到一个错误,也可能会打开textConnections,说明all connections are in use

我不完全确定最佳解决方案,但我认为你可以做类似的事情:

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