小编Pie*_*rre的帖子

使用nlsLM函数查找非线性模型的初始条件

我正在使用包中的nlsLM函数minpack.lm来查找参数的值a, e,并且c这些函数最适合数据out.这是我的代码:

n <- seq(0, 70000, by = 1)
TR <- 0.946
b <- 2000
k <- 50000
nr <- 25
na <- 4000
nd <- 3200
d <- 0.05775

y <- d + ((TR*b)/k)*(nr/(na + nd + nr))*n
## summary(y)
out <- data.frame(n = n, y = y)
plot(out$n, out$y)

## Estimate the parameters of a nonlinear model
library(minpack.lm)
k1 <- 50000
k2 <- 5000

fit_r <- nlsLM(y ~ …
Run Code Online (Sandbox Code Playgroud)

r non-linear-regression

7
推荐指数
1
解决办法
331
查看次数

如何加速从栅格中提取缓冲区中土地覆盖类型的比例?

我想在10万个类似SpatialLines对象的10 km缓冲区中提取空间数据,并计算缓冲线周围每种土地覆盖类型的比例.在第一次,我使用该功能crop来裁剪我的栅格.然后,我使用函数extract(包栅格)来计算10种土地覆盖类型的比例.这是我的代码:

lapply(1:nrow(tab_lines), FUN=function(k){
Run Code Online (Sandbox Code Playgroud)

第一步:建立一条10公里左右的缓冲区

buf_line <- gBuffer(seg_line[k], width=10000) ## seg_line =  Lines objects
Run Code Online (Sandbox Code Playgroud)

第二步:从栅格中提取缓冲区中的土地覆盖类型

ha <-extract(x=data_raster,y=buf_line)
Run Code Online (Sandbox Code Playgroud)

第三步:计算10种土地覆盖类型的比例

每种土地覆盖类型的比例必须是列(一列=一个土地覆盖类型)

    ha_1 <-length(ha[[1]][ha[[1]]==1])/length(ha[[1]])
    ha_2 <-length(ha[[1]][ha[[1]]==2])/length(ha[[1]])
    ha_3 <-length(ha[[1]][ha[[1]]==3])/length(ha[[1]])
    ha_4 <-length(ha[[1]][ha[[1]]==4])/length(ha[[1]])
    ha_5 <-length(ha[[1]][ha[[1]]==5])/length(ha[[1]])
    ha_6 <-length(ha[[1]][ha[[1]]==6])/length(ha[[1]])
    ha_7 <-length(ha[[1]][ha[[1]]==7])/length(ha[[1]])
    ha_8 <-length(ha[[1]][ha[[1]]==8])/length(ha[[1]])
    ha_9 <-length(ha[[1]][ha[[1]]==9])/length(ha[[1]])
    ha_10 <-length(ha[[1]][ha[[1]]==10])/length(ha[[1]])

     return(cbind(ha_1, ha_2, ha_3, ha_4, ha_5, ha_6, ha_7, ha_8, ha_9, ha_10))  
    })
Run Code Online (Sandbox Code Playgroud)

如何加快30 000个空间线的处理时间?R中是否还有其他软件包可以为这种类型的提取提供更快的处理?

performance r spatial data-extraction r-raster

6
推荐指数
1
解决办法
674
查看次数

如何在模型设置中禁用世界包装时使用原语"patch-right-ahead-ahead"?

我对原语"patch-right-ahead-ahead"有疑问.在模型设置中禁用世界包装时,我收到以下错误消息:

OF expected input to be a turtle agentset or patch agentset or turtle or patch but got NOBODY instead.
Run Code Online (Sandbox Code Playgroud)

当我做 :

if [pcolor] of patch-here = brown [
 if [pcolor] of (patch-right-and-ahead 90 1) = brown [
  move-to patch-right-and-ahead 90 1 ] ]
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

netlogo

4
推荐指数
1
解决办法
603
查看次数

如何获取仅包含唯一值的列表?

我有一个列表如下:

[[178 440] [175 440] [160 468] [160 440]]
Run Code Online (Sandbox Code Playgroud)

每个子列表中的值对应于坐标x,y.

我想获得一个只包含x和y唯一值的列表.

从上面的列表中,结果将是:

[[178 440] [160 468]]
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

netlogo

4
推荐指数
1
解决办法
353
查看次数

错误:找不到带有扩展 GIS 的 mediaLib 加速器包装类

当我在 Linux 中运行带有扩展 GIS 的 NetLogo 模型时,我收到以下错误消息:

Error: Could not find mediaLib accelerator wrapper classes. Continuing in pure Java mode.
Occurs in: com.sun.media.jai.mlib.MediaLibAccessor
java.lang.NoClassDefFoundError: com/sun/medialib/mlib/Image
at com.sun.media.jai.mlib.MediaLibAccessor$1.run(MediaLibAccessor.java:248)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.media.jai.mlib.MediaLibAccessor.setUseMlib(MediaLibAccessor.java:245)
at com.sun.media.jai.mlib.MediaLibAccessor.useMlib(MediaLibAccessor.java:177)
at com.sun.media.jai.mlib.MediaLibAccessor.isMediaLibCompatible(MediaLibAccessor.java:357)
at com.sun.media.jai.mlib.MediaLibAccessor.isMediaLibCompatible(MediaLibAccessor.java:315)
at com.sun.media.jai.mlib.MlibScaleRIF.create(MlibScaleRIF.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory
Run Code Online (Sandbox Code Playgroud)

...

我该如何解决这个问题?

java gis netlogo

3
推荐指数
1
解决办法
7005
查看次数

如何用矩形中的另一种颜色替换颜色?

在与如何用多边形中的另一种颜色替换颜色相同的光学器件,我想用蓝色补丁替换蓝色矩形中包含的白色补丁:

我有蓝色矩形,如下图所示:

在此输入图像描述

我想要有如下蓝色矩形:

在此输入图像描述

通过color-white-patches-v2 [ c ]如何用多边形中的另一种颜色替换颜色,我获得了这个数字:

在此输入图像描述

并通过使用color-white-patches-v3 [ c ]我修改如下(因为我有这个错误消息OF expected input to be a turtle agentset or patch agentset or turtle or patch but got NOBODY instead.:

to color-white-patches-v3  [c]
ask patches with [ pcolor = white] [
if (patch-at 0 1 != nobody and [pcolor] of patch-at 0 1 = c) or (patch-at 1 0 != nobody and [pcolor] of patch-at 1 0 = c) …
Run Code Online (Sandbox Code Playgroud)

netlogo

0
推荐指数
1
解决办法
63
查看次数

NetLogo中的错误:未定义任何名为x的内容

我从NetLogo导出了一个景观.我在Netlogo中导入了相同的格局.从这个角度来看,我添加了另一个特定于补丁"驻留时间"的全局变量:

globals [
list-of-polygons ]

patches-own [ 
area-ha
residency-time 
]
Run Code Online (Sandbox Code Playgroud)

我创建了一个函数来为我的横向中的每个多边形指定驻留时间值

to assign-residency-times
set list-of-polygons ([ID-polygon] of patches)
set list-of-polygons remove-duplicates list-of-polygons 
set list-of-polygons remove 0 list-of-polygons
print sort list-of-polygons

foreach list-of-polygons [ 
ask patches with [ ID-polygon = ? ] [ 
if all? patches [pcolor = green] [ 
set residency-time exp(1.02 * area-ha) ]

.... ] ]
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我有这个错误信息:Nothing named area-ha has been defined.但是,我定义了area-hadans patches-own.另外,当我检查补丁时,补丁特有的所有全局变量都消失了(见下图)!

在此输入图像描述

在此先感谢您的帮助.

netlogo

0
推荐指数
1
解决办法
1912
查看次数

在R中一次运行多个条件

我编写了一个代码来将函数应用于数据框input:

    set.seed(1234) 
    n = 5000000
    input <- as.matrix(data.frame(c1 = sample(1:10, n, replace = T), c2 = sample(1:10, n, replace = T), c3 = sample(1:10, n, replace = T), c4 = sample(1:10, n, replace = T)))

    system.time(
    test <- input %>% 
      split(1:nrow(input)) %>% 
      map(~ func1(.x, 2, 2, "test_1")) %>% 
      do.call("rbind", .))

## Here is the function used:

    func1 <- function(dataC, PR, DB, MT){

          c1 <- as.vector(dataC[1])
          c2 <- as.vector(dataC[2])

          c3 <- as.vector(dataC[3])
          c4 <- as.vector(dataC[4])

          newc1 <- -999
          newc2 …
Run Code Online (Sandbox Code Playgroud)

r

-3
推荐指数
1
解决办法
216
查看次数