我正在使用包中的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) 我想在10万个类似SpatialLines对象的10 km缓冲区中提取空间数据,并计算缓冲线周围每种土地覆盖类型的比例.在第一次,我使用该功能crop来裁剪我的栅格.然后,我使用函数extract(包栅格)来计算10种土地覆盖类型的比例.这是我的代码:
lapply(1:nrow(tab_lines), FUN=function(k){
Run Code Online (Sandbox Code Playgroud)
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)
每种土地覆盖类型的比例必须是列(一列=一个土地覆盖类型)
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中是否还有其他软件包可以为这种类型的提取提供更快的处理?
我对原语"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)
在此先感谢您的帮助.
我有一个列表如下:
[[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)
在此先感谢您的帮助.
当我在 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)
...
我该如何解决这个问题?
在与如何用多边形中的另一种颜色替换颜色相同的光学器件中,我想用蓝色补丁替换蓝色矩形中包含的白色补丁:
我有蓝色矩形,如下图所示:

我想要有如下蓝色矩形:

通过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导出了一个景观.我在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.另外,当我检查补丁时,补丁特有的所有全局变量都消失了(见下图)!

在此先感谢您的帮助.
我编写了一个代码来将函数应用于数据框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)