【发布时间】:2018-10-01 04:42:49
【问题描述】:
我有一个包含 11 个变量的数据集。其中,其中六个是数字,另外五个是基于数字变量值的有序因子(即,有人得到 62,然后他们得到 D,75 等于,C 等)。
现在我知道我可以使用rnorm 创建一个数据集,并为其提供每个变量的均值和标准差;但是,我的问题是 rnorm 是正态分布的(因此得名),而我的数据是负偏态的。
因此,有人能告诉我如何创建一个模拟数据集来保持原始数据的分布吗?换句话说,如何创建具有预定义均值、最大值、最小值和标准差的偏态正态分布?
【问题讨论】:
-
R 具有像
rnorm()和runif()这样的函数,它们将在正态或均匀分布上生成随机数。这有帮助吗? -
或
sample()表示向量的随机样本 -
感谢您闪电般的快速响应!由于数据是私有的,我不想从中抽取样本。至于
rnorm()和runif(),我的专栏不是正态分布的。是否可以模拟给定特定最小值、最大值、平均值和偏斜的数据? -
您能否提供更多信息,说明您要使用这些生成的数据完成什么工作?有很多方法可以在 R 中操作随机生成的数字,但根据您的用例,您可能需要也可能不需要复制数据集的每个元素。一个简单的例子是您可以生成年龄为
age <- sample(1:99, 1000, replace = TRUE)以生成 1000 个数据点。如果要匹配数据集的概率,可以从数据集中的1:99计算年龄概率,并使用age <- sample(1:99,1000, prob = prob_vector, replace = TRUE) -
非常感谢您的回复和回答。我将编辑问题以尝试提高问题的质量。
标签: r simulation