Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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 - Fatal编程技术网

R:光栅堆栈中图层的更改顺序

R:光栅堆栈中图层的更改顺序,r,R,我有两组光栅堆栈(每个都有几百个光栅层)-第一组是光栅堆栈,包含一组传感器时间序列图像(带间隙),第二组是第一组间隙的时间插值图像。从第1天开始,根据测量/或插值的日期命名每组中的图层…n 现在我想将这两个集合合并成一个有序的(根据图层名从1到n)光栅堆栈。我已经研究了不同的方法,但是没有得到结果 对光栅堆栈中的层进行排序的一种方法(例如,使用类似的方法(comb_r是下面可复制示例中的光栅堆栈)。这将对名称进行重新排序,但不会对整个层进行排序: names(comb_r)<-comb_

我有两组光栅堆栈(每个都有几百个光栅层)-第一组是光栅堆栈,包含一组传感器时间序列图像(带间隙),第二组是第一组间隙的时间插值图像。从第1天开始,根据测量/或插值的日期命名每组中的图层…n

现在我想将这两个集合合并成一个有序的(根据图层名从1到n)光栅堆栈。我已经研究了不同的方法,但是没有得到结果

  • 对光栅堆栈中的层进行排序的一种方法(例如,使用类似的方法(comb_r是下面可复制示例中的光栅堆栈)。这将对名称进行重新排序,但不会对整个层进行排序:

    names(comb_r)<-comb_r[order(names(comb_r))]
    

    names(comb\r)你能不能不按不同的顺序取一个“子集”:

    subset(comb_r, order(c(1,4,6,8,10,2,3,5,7,9))
    
    您可以选择“subset”的第二个参数来反映所需的顺序-您给出的那个参数有点奇怪,因为它从r中取一个,从rr中取两个,然后从r和rr中交替使用。

    这应该可以:

    ReorderStack<- stack(comb_r[[1]],comb_r[[4]],comb_r[[6]],comb_r[[8]],comb_r[[10]],
                        comb_r[[2]], comb_r[[3]],comb_r[[5]],comb_r[[7]],comb_r[[9]])
    

    ReorderStack在
    subset
    函数中调用
    order
    对我来说不起作用。 我使用了以下方法:

    subset(comb_r, c(1,4,6,8,10,2,3,5,7,9))
    

    如果您的光栅已经命名,您可以按如下方式对其进行排序:

    ordered_names <- c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
    ordered_stack <- comb_r[[ordered_names]]
    
    有序名称
    
    ordered_names <- c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
    ordered_stack <- comb_r[[ordered_names]]