R dismo包中的编码问题

R dismo包中的编码问题,r,model,dismo,R,Model,Dismo,我正在尝试使用dismo包创建BRT模型。 当我按照cran教程简化我的模型,然后尝试重新指定它时,我得到一个错误:“数据中的错误[,gbm.x,drop=FALSE]:维数不正确” 我不确定问题出在哪里,希望您能给予帮助 > BRTsynoptic <- gbm.step(data=synoptic, gbm.x = 2:14, gbm.y = 1, family = "bernoulli", tree.complexity = 10, learning.rate =

我正在尝试使用dismo包创建BRT模型。 当我按照cran教程简化我的模型,然后尝试重新指定它时,我得到一个错误:“数据中的错误[,gbm.x,drop=FALSE]:维数不正确”

我不确定问题出在哪里,希望您能给予帮助

> BRTsynoptic <- gbm.step(data=synoptic, gbm.x = 2:14,      gbm.y = 1,
 family = "bernoulli", tree.complexity = 10,
learning.rate = .001, bag.fraction = 0.75)
summary(BRTsynoptic)
#simplify the model
synoptic.simp <- gbm.simplify(BRTsynoptic, n.drops = 5)
#assign new model with simplification
synopticss.simp <- gbm.step(BRTsynoptic,
gbm.x=synoptic.simp$pred.list[[4]], gbm.y=1,
                               tree.complexity=10,learning.rate=0.001)

>BRTsynoptic如果您查看天气.simp$final.drops,它是一个数据帧。有关可复制的示例,请参见下文:

library(dismo)
data(Anguilla_train)
Anguilla_train = Anguilla_train[1:200,]

mdl <- gbm.step(data=Anguilla_train, gbm.x = 3:14, 
gbm.y = 2, family = "bernoulli",
tree.complexity = 10, learning.rate = 0.001, bag.fraction = 0.75)
train.simp <- gbm.simplify(mdl, n.drops = 5)

train.simp$final.drops
        preds order
1       DSDam     1
2  USRainDays     2
3     USSlope     3
4  SegLowFlow     4
5    SegTSeas     5
6     SegSumT    NA
7      DSDist    NA
8  DSMaxSlope    NA
9      USAvgT    NA
10   USNative    NA
11     Method    NA
12     LocSed    NA
库(dismo)
数据(安圭拉火车)
安圭拉火车=安圭拉火车[1:200,]

mdl如果您查看synologic.simp$final.drops,它是一个数据帧。有关可复制的示例,请参见下文:

library(dismo)
data(Anguilla_train)
Anguilla_train = Anguilla_train[1:200,]

mdl <- gbm.step(data=Anguilla_train, gbm.x = 3:14, 
gbm.y = 2, family = "bernoulli",
tree.complexity = 10, learning.rate = 0.001, bag.fraction = 0.75)
train.simp <- gbm.simplify(mdl, n.drops = 5)

train.simp$final.drops
        preds order
1       DSDam     1
2  USRainDays     2
3     USSlope     3
4  SegLowFlow     4
5    SegTSeas     5
6     SegSumT    NA
7      DSDist    NA
8  DSMaxSlope    NA
9      USAvgT    NA
10   USNative    NA
11     Method    NA
12     LocSed    NA
库(dismo)
数据(安圭拉火车)
安圭拉火车=安圭拉火车[1:200,]

mdl有一种只使用NA的变量的方法。不带NA的变量是未从模型中删除的变量。另外,在运行您提供的代码时,我仍然会遇到相同的错误。我的数据框有问题吗?这里是输出:dput(天气学的simp$final.drops)结构(列表(preds=structure)(c(5L,13L,2L,4L,12L,8L,3L,10L,1L,9L,6L,7L,11L),.Label=c(“钙”,“电导率”,“深度”,“铁”,“镁”,“锰”,“pH”,“钾”,“钠”,“总氮”,“总有机碳”),class=“因子”),顺序=c(1L,2L,3L,4L,5L,NA,NA,NA,NA,NA,NA,NA)),.Names=c(“preds”,“order”),row.Names=c(NA,-13L),class=“data.frame”)正常。我的原始数据帧是否仍然存在此错误?数据中的错误[,gbm.x,drop=FALSE]:维度数不正确也感谢您的帮助!更改R的版本可以纠正这一问题。这个bug似乎是持久的?感谢所有的帮助,我现在得到了这个错误:synoptic.simp$pred.list[[4]]$order:$运算符对于原子矢量无效,有一种方法可以只使用带有NA的变量。不带NA的变量是未从模型中删除的变量。另外,在运行您提供的代码时,我仍然会遇到相同的错误。我的数据框有问题吗?这里是输出:dput(天气学的simp$final.drops)结构(列表(preds=structure)(c(5L,13L,2L,4L,12L,8L,3L,10L,1L,9L,6L,7L,11L),.Label=c(“钙”,“电导率”,“深度”,“铁”,“镁”,“锰”,“pH”,“钾”,“钠”,“总氮”,“总有机碳”),class=“因子”),顺序=c(1L,2L,3L,4L,5L,NA,NA,NA,NA,NA,NA,NA)),.Names=c(“preds”,“order”),row.Names=c(NA,-13L),class=“data.frame”)正常。我的原始数据帧是否仍然存在此错误?数据中的错误[,gbm.x,drop=FALSE]:维度数不正确也感谢您的帮助!更改R的版本可以纠正这一问题。这个bug似乎是持久的?感谢所有的帮助,我现在得到了这个错误:synologic.simp$pred.list[[4]]$order:$运算符对原子向量无效