【问题标题】:How to store results of a simulation and plot all the results in one plot using plot_KDE in Luminescence package for R如何使用 R 的 Luminescence 包中的 plot_KDE 存储模拟结果并将所有结果绘制在一个图中
【发布时间】:2017-11-14 20:53:51
【问题描述】:

我正在使用随机数模拟创建模拟。这给出了 100 组 45 个值的错误。

首先,我想存储这些模拟的结果。 然后,我需要将这些模拟的结果绘制在一张图上。我需要制作的图使用 Luminescence 包,属于 KDE 类型。 我已经设法生成了单独的实体,但在存储结果和生成带有所有模拟的图时都在努力。 到目前为止,我已经创建了模拟:

Simulation <- function() {
    RNC <- rescale (SFMT(45, dim=1, mexp=216091, 
                            usepset=T, withtorus= F, usetime=T), 
                    c(0.01,130))
    RNC_error <- RNC*0.15
    df <-data.frame(RNC,RNC_error)
}

我要创建的情节使用以下内容:

library("Luminescence")
plot_KDE(data=df, na.rm = TRUE,
         values.cumulative = TRUE, order = TRUE, 
         boxplot = F, rug = F,
         summary.method = "MCM", bw = "nrd0", 
         output = TRUE)

对于我的最终结果,我需要存储所有模拟的数值结果以及包含所有模拟结果的单个 KDE 图。

【问题讨论】:

  • 提问时,尽量让问题变得简单。例如,您不需要 Simulation 函数。你只需要一个数据框df,即df = data.frame(x = 1:5, y=runif(5))

标签: r plot simulation


【解决方案1】:

把你的问题分成两部分。

  1. 存储结果。你有一个数据框,df,所以只需使用write.csv() 将结果存储到 CSV 文件,即

    write.csv(df, file="some_file.csv")
    
  2. 存储你的情节。显然你不能使用 csv 文件,所以我们将使用 pdfpng,例如

    # Open the file
    pdf("figure_file.pdf")
    plot_KDE(data=df, na.rm = TRUE,
        values.cumulative = TRUE, order = TRUE, 
        boxplot = F, rug = F,
        summary.method = "MCM", bw = "nrd0", 
        output = TRUE)
    # Close the file
    dev.off()
    

    要保存为png,请使用png() 而不是pdf()

【讨论】:

  • 我的问题不是存储各个部分的结果,而是我需要存储 45 个值的数据框的 100 次迭代的结果,每个值及其错误值和图绘制这 100 次迭代的 KDE 结果。
  • 对不起,我不明白。每个 45 个值的数据帧的 100 次迭代是什么意思。什么是数据帧的迭代。
  • 抱歉,我在这里使用非数学意义上的迭代。
  • 抱歉,我在这里使用非数学意义上的迭代。澄清一下:我正在运行产生数据帧“df”100 次的代码。每次我运行代码以生成 df 时,我都会得到一个包含两列 45 个值的数据框,第一列是值,第二列是错误。我希望存储并随后在单个 KDE 图上绘制的结果是输出在这 100 次代码运行中。
  • 好的。那么为什么不动态创建一个文件名,例如pdf(paste0("graph", i, ".pdf)) 其中i 是 1 到 100 之间的当前迭代
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多