在 R 中,如何生成带有异常值的向量(数据)?如果数据是“可接受的”正态分布,那就太好了。
问问题
2226 次
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 回答