0

在 R 中,如何生成带有异常值的向量(数据)?如果数据是“可接受的”正态分布,那就太好了。

4

2 回答 2

3

@DWin 是对的,这取决于您所说的“异常值”是什么意思。为了记录,我使用了他正在使用的相同定义,所以我会使用(已经使用过)他的代码和@Ferdinand.kraft 列表。其他人有时意味着比您通常发现的更极端的数据。这对于模拟研究来说很难定义,但一个常见的定义是超过第一个(第 3 个)四分位数的四分位间距的 1.5 倍以上的点。这是一个简单的方法来找到它(我相信会有更有效的方法):

flag <- 0
while(flag==0){                                
  X  <- rnorm(N)                                    
  bp <- boxplot(X, plot=FALSE)  
  if(length(bp$out)!=0){ 
    flag <- 1
  }
}
于 2013-09-18T21:32:51.357 回答
1

这实际上取决于“异常值”的定义;

    c(rnorm(100), 100, -100) # an egregious example
   plot(density( c( rnorm(90), rnorm(5, 1) ) ) ) # not as egregious
于 2013-09-18T21:21:32.453 回答