繁体   English   中英

向 R 中的离散变量添加随机误差

[英]Adding random error to a discrete variable in R

我需要应用一些计量经济学方法,并且我必须在我的回归变量中考虑一个连续变量。 问题是我只有离散变量。

有人能告诉我如何将平均值为 0 的小随机误差(残差)添加到离散变量(我的数据库中的一列),并将其保存在我的数据库中吗? 我仍然是 R 初学者。

例子:我有

mA <- data.frame(Asexo=c(1, 0, 0, 1, 0))

我想向mA$Asexo添加一个小错误,使其成为一个连续变量:

mA <- data.frame(Asexocontiuous=c(1.03, 0.34, 0.18, 0, 1.5))

如果您想“抖动”一个 0/1 变量以确保没有重复项(或使用需要连续变量的方法),最简单的方法是

mydat$sexcont <- rnorm(nrow(mydat),mean=mydat$sexbinary,sd=csd)

其中csd是您选择的标准偏差。 再优雅一点,

mydat <- transform(mydat,sexcont=rnorm(nrow(mydat),mean=sexbinary,sd=csd))

如果sexbinary是一个因素,则使用as.numeric(sexbinary) (或as.numeric(sexbinary)-1如果您需要它是 0/1 而不是 1/2 变量)

您还可以看到?jitter ,尽管它更常用于避免图形中的点重叠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM