Bet*_*eth 5 r outliers correlation
在计算相关性时如何告诉R删除异常值?我从散点图中发现了一个潜在的异常值,并且我试图比较有和没有这个值的相关性.这是一个介绍统计课程; 我只是在玩这些数据来开始理解相关性和异常值.
我的数据如下:
"Australia" 35.2 31794.13
"Austria" 29.1 33699.6
"Canada" 32.6 33375.5
"CzechRepublic" 25.4 20538.5
"Denmark" 24.7 33972.62
...
Run Code Online (Sandbox Code Playgroud)
等等,对于26行数据.我试图找到第一个和第二个数字的相关性.
我确实读过这个问题,但是,我只想删除一个点,而不是一个百分点.R中是否有命令执行此操作?
你不能用基本cor()功能做到这一点,但你可以
以下是第二种方法的快速示例:
R> set.seed(42)
R> x <- rnorm(100)
R> y <- rnorm(100)
R> cor(x,y) # correlation of two unrelated series: almost zero
[1] 0.0312798
Run Code Online (Sandbox Code Playgroud)
我们用一个大的异常值"污染"一个点:
R> x[50] <- y[50] <- 10
R> cor(x,y) # bigger correlation due to one bad data point
[1] 0.534996
Run Code Online (Sandbox Code Playgroud)
所以让我们来赢取:
R> x <- robustHD::winsorize(x)
R> y <- robustHD::winsorize(y)
R> cor(x,y)
[1] 0.106519
R>
Run Code Online (Sandbox Code Playgroud)
而且我们又回到了一个不太相关的衡量标准.
| 归档时间: |
|
| 查看次数: |
3919 次 |
| 最近记录: |