有没有办法从R脚本中的文件中读取参数?
我想创建一个配置文件
db_host=xxxx
db_name=xxxx
db_user=xxxx
db_pass=xxxx
然后在R脚本中使用它来创建数据库连接。
dbConnect(PgSQL(), host="xxxx", dbname="xxxxx", user="xxxx", password="xxxxx")
然后如何在R脚本中使用它。
编辑:我还想知道是否有一种方法可以跨R脚本,Perl脚本和Java使用单个配置文件?
最佳答案
我会去YAML。设计用于与XML不同的人可读写性。 R包“ yaml”在CRAN上存在,我确定perl和java包也存在。
http://ftp.heanet.ie/mirrors/cran.r-project.org/web/packages/yaml/index.html
您不能获得比这更多的跨平台:
http://yaml.org/
至少直到我写了一个YAML FORTRAN包...
[编辑]
例。假设您有config.yml:
db:
host : foo.example.com
name : Foo Base
user : user453
pass : zoom
然后yaml.load_file(“ config.yml”)返回:
$db
$db$pass
[1] "zoom"
$db$user
[1] "user453"
$db$name
[1] "Foo Base"
$db$host
[1] "foo.example.com"
所以你也是:
library(yaml)
config = yaml.load_file("config.yml")
dbConnect(PgSQL(), host=config$db$host, dbname=config$db$name, user=config$db$user, password=config$db$pass)
根据需要添加任意多个部分和参数。 Sweeeeyit。
yaml.load_file将您的配置作为R列表返回,并且您可以使用$表示法访问列表的命名元素。