【问题标题】:How can I add an amount random error to a numerical variable in R?如何将数量随机误差添加到 R 中的数值变量?
【发布时间】:2021-02-26 02:18:35
【问题描述】:

我正在使用回归方程研究一组生物样本中的身体测量值与总体重量之间的关系。我一直在将我的结果与之前的研究进行比较,这些研究没有从同一系列个体中提取他们的测量数据和体重。取而代之的是,这些研究使用了先前发表的文献中报告的每个物种的平均值(身体测量值和体重来自不同的个体组),或者只是采用了报告的身体测量范围的中点。

我试图弄清楚如何在我的数据中引入少量随机误差,以模拟从不同来源绘制测量和重量数据的效果。例如,将所有数据从它们的实际值略微改变它们实际值的大约 +/- 5%,这接近我的测量值和文献测量值之间的差异,并查看这对准确性统计的影响有多大.我知道有 jitter() 命令,但这似乎只适用于绘图数据。

【问题讨论】:

    标签: r random


    【解决方案1】:

    base R 中有jitter 函数,可让您在数据中添加随机噪声。

    x <- 1:10
    set.seed(123)
    jitter(x)
    #[1] 0.915 2.115 2.964 4.153 5.176 5.818 7.011 8.157 9.021 9.983
    

    查看?jitter,它解释了控制添加的噪声的不同方法。

    【讨论】:

      【解决方案2】:

      如果您知道错误是什么样的(即您的错误是如何分布的?),请直截了当。误差是否正态分布?制服?

      v1 <- rep(100, 10) # measurements with no noise
      v1_n <- v1 + rnorm(10, 0, 20) #error with mean 0 and sd 20 sampled from normal distribution
      v1_u <- v1 + runif(10, -5, 5) #error with mean 0 min -5 and max 5 from uniform distribution  
      
      v1_n
      [1]  87.47092 103.67287  83.28743 131.90562 106.59016  83.59063 109.74858 114.76649 111.51563  93.89223
      v1_u
      [1] 104.34705  97.12143 101.51674  96.25555  97.67221  98.86114  95.13390  98.82388 103.69691  98.40349
      

      【讨论】:

        猜你喜欢
        • 2019-05-25
        • 2021-04-26
        • 2018-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-15
        • 2022-11-19
        相关资源
        最近更新 更多