1

gSSURGO からのいくつかの土壌データがプロファイルとともにリストされており、各プロファイルには連続する深さの地平線が含まれています。だから基本的に、

> chorizon <- read.csv("chorizonexcel.csv", header = T)
> 
> chorizon [1:10,1:8]
   OBJECTID hzname desgndisc desgnmaste desgnmas_1 desgnvert hzdept_l hzdept_r
1         1      A         0          A       <NA>         0        0        0
2         2     Bk         0          B       <NA>         0        0       18
3         3   2BCk         2         BC       <NA>         0        0       64
4         4      A         0          A       <NA>         0        0        0
5         5     Bk         0          B       <NA>         0        0        8
6         6   Bkkm         0          B       <NA>         0        0       18
7         7    CBk         0         CB       <NA>         0        0       71
8         8      A         0          A       <NA>         0        0        0
9         9     Bk         0          B       <NA>         0        0        6
10       10   Bkkm         0          B       <NA>         0        0       21

の最も低いプロファイル深度chorizon$hzdept_rは常に最大であり、常に次の地平線の 0 のトップ深度の前に来ます。(プロファイル 1 の深さ: 0、18、64; プロファイル 2 の深さ: 0、8、18、71; など)

私は取得しようとしています:

OBJECTID hzname desgndisc desgnmaste desgnmas_1 desgnvert hzdept_l hzdept_r
3         3   2BCk         2         BC       <NA>         0        0       64
7         7    CBk         0         CB       <NA>         0        0       71
10       10   Bkkm         0          B       <NA>         0        0       21

ループを生成して、最も低い地平線のみの新しい df を作成しようとしています。

これがすでに回答されている場合、私は過去 6 時間それを見つけていません。これがあまりにも基本的な質問である場合は申し訳ありません。

4

2 に答える 2

0
x = chorizon$hzdept_r
n = length(x)
pts = which(diff(x)<0)
if(x[n]>x[n-1]) pts = c(pts,n)
chorizon[pts,]
于 2013-07-29T21:14:08.143 に答える