Frage

Ich habe diese Daten in einer CSV:

Date  ALICORC1 ALT   ATACOBC1 AUSTRAC1 CONTINC1 BVN   DNT
40886 5.8      0.1   0.9      0.28     5.45     38.2  1.11
40889 5.8      0.1   0.88     0.28     5.37     37.7  1.04
40890 5.8      0.09  0.87     0.27     5.33     37.4  0.99
40891 5.7      0.1   0.85     0.27     5.3      37.5  0.91

Dies sind Aktienschlusskurse von der peruanischen Börse, und ich möchte sie in xts umwandeln, damit ich das optimale Portfolio und andere Dinge finden kann, aber ich kann nicht den Weg finden, diese CSV in xts umzuwandeln.Ich habe die Antwort auf viele der Fragen hier überprüft, aber keine davon hat funktioniert.

Einige der Fehler, die ich habe, sind:

  • Der Index enthält XXXX fehlerhafte Einträge in Datenzeilen
  • Mehrdeutige Daten.

    Kann mir jemand helfen?

War es hilfreich?

Lösung

csv steht für Komma -getrennte Werte, sodass das in der Frage gezeigte Layout nicht csv ist. Wir gehen davon aus, dass die Daten tatsächlich in CSV-Form vorliegen und nicht in der Form, in der die Frage angezeigt wird. Wenn es wirklich in der in der Frage gezeigten Form und nicht in csv vorliegt, lassen Sie das sep=","-Argument in read.zoo unten weg. Auch wenn es andere Abweichungen gibt, müssen Sie die Argumente möglicherweise weiter ändern. Siehe ?read.zoo und die Lesen von Daten im Zoo -Vignette im Zoo-Paket .

Hier verwenden wir read.zoo im Zoo-Paket, um die Daten als Zoo-Objekt, z, einzulesen, und konvertieren sie dann in xts, x.

Siehe R News 4/1 , in dem das Datum speziell behandelt wird Behandlung von Excel-Daten unter Hinweis darauf, dass wir den folgenden Code möglicherweise geringfügig ändern müssen, wenn die Mac-Version von Excel verwendet wird (wie dort in der Referenz beschrieben).

library(xts) # this also loads zoo which has read.zoo

toDate <- function(x) as.Date(x, origin = "1899-12-30")
z <- read.zoo("myfile.csv", header = TRUE, sep = ",", FUN = toDate)
x <- as.xts(z)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top