これは私のデータがどのように見えるかです:
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]))
p
p
インデックスが付けられている行を表します
私は回避しようとしました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]))
}
}
しかし、書かれた行へのインデックス作成とp
if - ループには問題があります。
助けてくれてありがとう。