首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从栅格中移除异常值

从栅格中移除异常值
EN

Stack Overflow用户
提问于 2020-01-15 04:58:23
回答 2查看 636关注 0票数 0

我想知道是否可以从栅格数据集Data中移除异常值

代码语言:javascript
运行
复制
> library (raster)
> ras <- raster("08_sa.tif")
> boxplot(ras)
> summary(ras)
            08_sa.tif
Min.    -6.010734e+17
1st Qu. -4.292327e+15
Median   3.456345e+15
3rd Qu.  5.913508e+15
Max.     3.954778e+17
NA's     0.000000e+00

> dput(ras)
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
    ), offset = 0, gain = 1, inmemory = TRUE, fromdisk = FALSE, 
        isfactor = FALSE, attributes = list(), haveminmax = TRUE, 
        min = 213381595136, max = 395477771117133824, band = 1L, 
        unit = "", names = "Data"), legend = new(".RasterLegend", 
        type = character(0), values = logical(0), color = logical(0), 
        names = logical(0), colortable = logical(0)), title = character(0), 
    extent = new("Extent", xmin = 60.514678955, xmax = 97.416931152, 
        ymin = -0.701358795, ymax = 38.49804306), rotated = FALSE, 
    rotation = new(".Rotation", geotrans = numeric(0), transfun = function () 
    NULL), ncols = 369L, nrows = 392L, crs = new("CRS", projargs = "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"), 
    history = list(), z = list())

代码语言:javascript
运行
复制
> as.data.frame(ras,xy=TRUE) -> df.ras
> colnames(df.ras) <- c("x","y","value")
> df.ras$value[!df.ras$value %in% boxplot.stats(df.ras$value)$out] -> no.outliner
> boxplot(no.outliner)
> plot(no.outliner)
> summary(no.outliner)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max.      NA's 
2.134e+11 3.315e+15 5.084e+15 4.936e+15 6.538e+15 1.145e+16    113153 

没有异常值,'no.outlier‘已经失去了它的地理位置

在删除异常值之前绘制“ras”图

EN

Stack Overflow用户

发布于 2020-01-15 18:56:46

我查看了直方图和箱线图,记录了异常值范围,并使用重分类删除了异常值范围。再次感谢@val,你对重新分类的建议值得在r中使用。

代码语言:javascript
运行
复制
> x1 <- reclassify(ras, cbind(1.5e+16,Inf, NA), right=FALSE) 
> spplot(x1)
> boxplot(x1)
> hist(x1)

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59741690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档