Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 根据光栅图层名称上的特定图案从光栅堆栈中选择光栅图层_R_Stack_R Raster - Fatal编程技术网

R 根据光栅图层名称上的特定图案从光栅堆栈中选择光栅图层

R 根据光栅图层名称上的特定图案从光栅堆栈中选择光栅图层,r,stack,r-raster,R,Stack,R Raster,我在r中有一个光栅堆栈,包含499层。每个层都有一个特定的名称模式 [1] "Sacharovi_PA1_RUN1_GAM" "Sacharovi_PA1_RUN1_GLM" [3] "Sacharovi_PA1_RUN1_RF" "Sacharovi_PA1_RUN1_CTA" [5] "Sacharovi_PA1_RUN1_MAXENT.Phillips" "Sacharov

我在r中有一个光栅堆栈,包含499层。每个层都有一个特定的名称模式

[1] "Sacharovi_PA1_RUN1_GAM"               "Sacharovi_PA1_RUN1_GLM"              
[3] "Sacharovi_PA1_RUN1_RF"                "Sacharovi_PA1_RUN1_CTA"              
[5] "Sacharovi_PA1_RUN1_MAXENT.Phillips"   "Sacharovi_PA1_RUN2_GAM"              
[7] "Sacharovi_PA1_RUN2_GLM"               "Sacharovi_PA1_RUN2_RF"               
[9] "Sacharovi_PA1_RUN2_CTA"                 
我想做的是将每个型号的GAM、RF、GLM、CTA、MAXENT保存到不同的堆栈中。我如何选择我想要的型号所有型号都包含GAM/GLM/RF等字样

到目前为止,我一直在尝试制作光栅堆栈的一个子集:

  result <- subset(my_stack, grep("GAM"))
但这是行不通的。
您能帮我一下吗?

您似乎没有正确完成grep-您必须告诉它搜索名称,见下文。另外,请确保通过指定光栅包访问了正确的函数。Subset是一个非常通用的函数名,它可能被您在raster之后添加的另一个库所取代——或者,如果您根本没有加载库,R将默认为base::Subset

我也更喜欢使用value=TRUE进行调试,尽管这两种方法都可以

all_GAM <- raster::subset(my_stack, grep('_GAM', names(my_stack), value = T))

非常有用!谢谢