这应该很快回答:
我想使用jags包'jags.model
函数。在许多论点中,它需要参数file
:
file
- 包含模型描述的文件的名称 BUGS语言的JAGS方言。或者,文件可以是 可读的文本模式连接或完整的URL。
我想将字符串传递给此参数。解决此问题的一种方法是将字符串写入临时文件并传递文件名。但我希望有一种直接的方法将字符串转换为连接。
答案 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)