Ich versuche einige Handelsstrategien in R zu betreiben. Ich habe einige Aktienkurse und berechnete Renditen heruntergeladen. Der neue Rückkehrdatensatz hat eine Anzahl von -inf-, NaN- und NA-Werten. Ich reproduziere eine Zeile des Datensatzes (log_ret). Es ist ein Zoo-Datensatz.
%Vor%Wie kann ich diese unerwünschten Werte durch 0 ersetzen?
Gemäß ?zoo
:
Subskribierung durch ein Zoo-Objekt, dessen Daten enthält logische Werte sind nicht definiert.
Sie müssen also die Teilmenge in einen which
-Aufruf einbinden:
Inf
, NA
und NaN
werden mit !is.finite
verglichen, zum Beispiel
Ich weiß nicht sehr viel über die Manipulation von zoo
-Objekten, aber für das obige Beispiel
funktioniert. In Ihren tatsächlichen Daten müssen Sie alle Zeilen durchlaufen. Es könnte eine zoo
-spezifische Vorgehensweise geben.
Bearbeiten: Der Zoo-spezifische Weg ist log_ret[which(!is.finite(log_ret))] <- 0
.
Eine andere Möglichkeit ist (wo df = Ihr Datenrahmen):
%Vor%Ich weiß nicht, ob das für Zoo-Objekte funktioniert, aber es geht um das Problem, dass is.infinite () nur an Vektoren arbeitet.
Tags und Links r nan time-series zoo