这应该很快回答:如何从字符串变量创建文本连接?
我想使用jags包'jags.model
函数。在众多的参数,它需要的参数file
:
file
- 包含模型的描述中 的BUGS语言的尖齿方言的文件名。或者,文件可以是 可读的文本模式连接或完整的URL。
我想将字符串传递给此参数。解决此问题的一种方法是将字符串写入临时文件并传递文件名。但我希望有一种直接的方式将字符串转换为连接。
这应该很快回答:如何从字符串变量创建文本连接?
我想使用jags包'jags.model
函数。在众多的参数,它需要的参数file
:
file
- 包含模型的描述中 的BUGS语言的尖齿方言的文件名。或者,文件可以是 可读的文本模式连接或完整的URL。
我想将字符串传递给此参数。解决此问题的一种方法是将字符串写入临时文件并传递文件名。但我希望有一种直接的方式将字符串转换为连接。
您可以使用textConnection
像这样的(这里用read.csv
功能,但我想应该jags.model
工作方式相同):
mytext <- "x,y\n1,2\n3,4"
read.csv(textConnection(mytext))
# x y
# 1 1 2
# 2 3 4
我只想补充约textConnection
一个小点。当我在一个大for循环中使用jags.model(textConnection(x)...)
时(即,超过125次迭代),偶尔会遇到问题。从本质上讲,似乎textConnections正在打开,但没有关闭,然后我会最终收到一个错误后,可能textConnections已被打开,说明all connections are in use
。
我不能完全肯定的最佳解决方案,但我相信你可以这样做:
zz <- textConnection(x)
jags.model(zz, ...)
close(zz)
完美的作品! – 2013-02-20 13:45:26