【发布时间】:2021-08-18 22:51:48
【问题描述】:
我正在为一个需要很长时间的研究项目模拟数据。我想用我的数据进行一些实验,但是,我没有足够的模拟数据来实现这一点。我想用正态分布的随机数据来补充我模拟的数据。
到目前为止,我有一个如下所示的数据框:
Training_Data
然后我对该数据框进行了汇总统计,如下所示:
Training_Data_Sum
我有每列数据的最小值、最大值、平均值、STD、中位数等。
现在,我想做的是编写一个函数,该函数将使用 Training_Data 数据框中的 5 行数据,并使用 min、max、mean 和从 Training_Data 帧的汇总统计中获得的 STD 值。
我假设我需要使用 rtruncnorm 函数,如下所示:
Training_Data_50A Training_Data_50B Training_Data_50C Training_Data_50D
其中最小值、最大值、平均值和标准值是从相应的列中获取的。
有人能指出我如何将这个任务转换为适当的 R 函数的正确方向吗?
【问题讨论】:
-
我认为您正在寻找 Box–Muller 变换。如果你想要一个基于最小值/最大值的截断分布,这将是一个蒙特卡洛实验。您只需拒绝任何超出数据范围的值。所以你一直画,直到你接受 50 个值。
-
正态分布的数据只有两个参数:mean和SD。您指定的太多了。
-
在这里检查这个问题:stackoverflow.com/questions/19343133/…
标签: r