如何存储模拟结果,并使用R的发光包中的plot_KDE将所有结果绘制在一个绘图中

如何存储模拟结果,并使用R的发光包中的plot_KDE将所有结果绘制在一个绘图中,r,plot,simulation,R,Plot,Simulation,我正在使用随机数模拟创建模拟。这将给出100组45个有误差的值 首先,我想存储这些模拟的结果。 然后我需要将这些模拟的结果绘制在一个图上。我需要生成的绘图使用包发光,并且是KDE类型。 我已经成功地生成了单独的实体,但我很难存储结果,也很难生成带有所有模拟的绘图。 到目前为止,我已经创建了模拟: Simulation <- function() { RNC <- rescale (SFMT(45, dim=1, mexp=216091,

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

首先,我想存储这些模拟的结果。 然后我需要将这些模拟的结果绘制在一个图上。我需要生成的绘图使用包发光,并且是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)
}

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

将问题分为两部分

  • 存储结果。您有一个数据帧,
    df
    ,因此只需使用
    write.csv()
    将结果存储到csv文件中即可

    write.csv(df, file="some_file.csv")
    
  • 存储您的绘图。显然,您不能使用csv文件,因此我们将使用
    pdf
    png
    ,例如

    # 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()


  • 当问问题时,尽量使之简单。例如,您不需要
    模拟
    功能。您只需要一个数据框
    df
    ,即
    df=data.frame(x=1:5,y=runif(5))
    我的问题不是存储各个部分的结果,而是,我需要存储45个值的dataframe的100次迭代的结果及其错误值,并在单个绘图上绘制这100次迭代的KDE结果。抱歉,我不理解。每45个值的数据帧的100次迭代意味着什么。什么是数据帧的迭代。抱歉,我在这里用的是非数学意义上的迭代。抱歉,我在这里用的是非数学意义上的迭代。澄清一下:我正在运行生成数据帧“df”100次的代码。每次运行代码生成df时,我都会得到一个包含两列45个值的数据帧,第一列是值,第二列是错误。我希望存储并随后在单个KDE图上绘制的结果是这100次代码运行的输出。OK。那么,为什么不动态创建一个文件名,例如
    pdf(paste0(“graph”,i,.pdf))
    其中
    i
    是介于1和100之间的当前迭代
    # 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()