【问题标题】:Run external R script n times, with different input paramters, and save outputs in a data frame使用不同的输入参数运行外部 R 脚本 n 次,并将输出保存在数据框中
【发布时间】:2015-09-05 04:19:43
【问题描述】:

我的问题与以下问题有关:

Run external R script n times and save outputs in a data frame

不同之处在于,我不会通过随机化函数生成不同的结果,而是希望每次都使用一组不同的输入变量(例如,针对一系列纬度运行代码块 lat=c(50,60,70 ,80))

有人给我提示吗? 非常感谢!

【问题讨论】:

  • 将您的脚本包装在一个函数中。

标签: r loops


【解决方案1】:

将脚本包装成一个函数:

my_function <- function(latitude) {

在顶部和

}

在底部。

这样,您可以source 一次,然后使用 plyr 包中的ldply

results <- ldply(10 * 5:8, myFunction)

如果您想要一个列来标识使用了哪个纬度,您可以将其添加到函数的 data.frame 或使用:

results <- ldply(10 * 5:8, function(lat) data.frame(latitude = lat, myFunction())

如果由于某种原因您不想修改脚本,您可以创建一个包装函数:

my_wrapper <- function(a) {
  latitude <- a
  source("script.R", local = TRUE)$value
}

甚至使用evalparse

my_function <- eval(parse(text = c("function(latitude) {",
  readLines("script.R"), "}")))

【讨论】:

    猜你喜欢
    • 2015-05-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 2019-02-04
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多