Ich habe zwei Matrizen, PT1 und PT2, mit der Probe unter vermeiden:R Betrieb auf Matrizen mit, wenn NaN Warnung
pt1[1,] = 9.819 1.839 1.542 1.236 1.137 0.774 0.774 0.608 0.527 0.327 0.324 0.245 0.133 0.111 0.110 0.067 0.038 0.018 0.007 0.002 0.000 0.000
pt2[1,] = 9.9770359 1.8361173 1.6109915 1.2507719 1.0475069 0.7834792 0.7832150 0.6610241 0.5318586 0.3857874 0.3084728 0.2700538 0.1439364 0.1220980 0.1056596 0.0679037 0.0373881 0.0220959 0.0068046 0.0018711 0.0000000 0.0000000
Ich muss Protokollbetrieb so durchführen:
rt2 <- log(pt2/pt1)*0.5
Wie erwartet, werden jedoch die letzten beiden Werte NaN erzeugen, da die pt1-Werte Null sind (Division durch Null). Dass eine Warnung zeigte:
Warning message:
In log(pt2/pt1) : NaNs produced
I ifelse
verwendet, das zu korrigieren (und es erwartet, dass die Warnung zu entfernen):
r2 <- ifelse(pt1==0 | pt2==0, 0, log(pt2/pt1)*0.5)
Die NaN sind nicht mehr produziert, aber die Warnung noch gezeigt.
Was soll ich tun, um die Warnung zu vermeiden?
Vielen Dank!