0

これは私のデータがどのように見えるかです:

       1    2        3    
1  20.47039  xae 20.65273
2  21.94899  xei 22.06170
3  22.96345  p 23.06622
4  23.61655  xei 23.68949
5  24.50835  p 24.57134
6  25.92349  xa 26.01042
7  26.34687  no 26.44185
8  27.83433  xoe 27.93414

2 行目の時間 tmin と 1 行目の tmax の差を計算したいと思います。for ループを使用して計算できました。

for (i in 1:nrow(data)) {
  difference[i] = (VP3_erw[i+1,1]) - (VP3_erw[i, 3])
}

しかし、列pに書かれているたびに、私は計算したい

difference[i] = (data[i+1,1]) - (data[i, 3]) - (data([p,3]) - datadata([p,1]))

ppインデックスが付けられている行を表します

私は回避しようとしましたcharmatch

p= c("p")  
ind_p = (as.numeric(row.names(data)) & charmatch((substr(as.character(data[,2]),1,1)), p, nomatch = FALSE) > 0)  

これを if ループに入れようとするよりも:

if (ind_p == "FALSE") {
  for (i in 1:nrow(data)) {  
    difference[i] = (VP3_erw[i+1,1]) - (VP3_erw[i, 3])
  }
else {
  difference[i] = (data[i+1,1]) - (data[i, 3]) - (data([p,3]) - datadata([p,1]))
}
}

しかし、書かれた行へのインデックス作成とpif - ループには問題があります。

助けてくれてありがとう。

4

1 に答える 1