微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

栅格:在R中也计数零点的出现

如何解决栅格:在R中也计数零点的出现

当我没有点时,我没有按像素计算点数的成功。在我的示例中:

#Create a raster and some points
xmn = 17;xmx = 23;ymn=42;ymx=49
my_ras<-raster(matrix(1:12,3,4),xmx=xmx,xmn=xmn,ymx=ymx,ymn=ymn)
my_points<-data.frame(x=runif(10,xmn,xmx),y=runif(10,ymn,ymx))

#Count the points
pointcount<- rasterize(my_points,my_ras,fun='count')

#Vizualize
plot(my_ras)
points(my_points,pch=16)
d <- data.frame(coordinates(pointcount),count=pointcount[])
summary(d)
#       x               y             count      
# Min.   :17.75   Min.   :43.17   Min.   :1.000  
# 1st Qu.:18.88   1st Qu.:43.17   1st Qu.:1.000  
# Median :20.00   Median :45.50   Median :1.500  
# Mean   :20.00   Mean   :45.50   Mean   :1.667  
# 3rd Qu.:21.12   3rd Qu.:47.83   3rd Qu.:2.000  
# Max.   :22.25   Max.   :47.83   Max.   :3.000  
#                                 NA's   :6 

在这里,问题是我没有没有点的像素没有0值。我无法制作零栅格,因为在现实世界中,我在目标区域之外具有NA值,并且这导致了真实零(无点)和区域边界之外的零之间的错误

如果有(显然在这种情况下没有),我需要零和NA值吗?也许sf软件包有这样的内容

解决方法

示例数据

   console.log(filtered_channel_ids);
   filtered_channel_ids.forEach((element) => {
    const channel = client.channels.cache.get(element);
    if (channel.messages) {
     channel.messages
      .fetch({limit: 10})
      .then((message) => console.log(message.content));
    }
   });

您可以使用library(raster) xmn = 17;xmx = 23;ymn=42;ymx=49 ras <-raster(matrix(1:12,3,4),xmx=xmx,xmn=xmn,ymx=ymx,ymn=ymn) points <-data.frame(x=runif(10,xmn,xmx),y=runif(10,ymn,ymx)) 代替NA

background=0

如果现在要排除某些区域,则可以使用pointcount<- rasterize(points,ras,fun='count',background=0) 。另外,如果您的栅格具有NA和零值,则可以将raster::maskrasterize

一起使用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。