2016-10-19 2 views
-2

Wie würden Sie auf die Datumspalte hier links von diesem Datenrahmen zugreifen?Abrufen der 0. Spalte Datenrahmeninformation in R

> data 
GMT 
       Rate 
2005-02-28 0.48326866256 
2005-04-30 0.64922340405 
2005-05-31 0.70036043096 
2005-06-30 0.72051442515 
. 
. 
. 

Wenn ich schreibe,

data[ , 1] 

... es gibt mir die Rate Spalte. Wie erwartet.

Wenn ich,

data[ , 0] 

... es funktioniert nicht. Und ich bekomme 'Fehler: Subscript out of bounds'.

Aber wenn ich es tue,

data[1 , 0] 

... habe ich das erste Datum zurück. 2005-02-28.


Dies scheint ein bisschen zu mir widersprüchlich, dass ich nicht Daten nach oben ziehen [0], da ich Daten nach oben ziehen [1] und auch Daten nach oben ziehen [1, 0].

Wie ziehe ich diese Datumswerte hoch? Und warum funktionieren Daten [, 0] nicht?

Danke,

Antwort

3

Es gibt keine 0. Spalte. Was Sie wahrscheinlich sehen, sind Zeilennamen. Sie können auf sie zugreifen über:

rownames(data) # for a matrix-like object 
row.names(data) # for a data.frame 

Aber beide werden gut funktionieren.

+0

Danke, ich bin ein bisschen neu für R und das hat mich frustriert. – user5619709

0

Zuerst ein allgemeiner Hinweis, R hat keine 0-Indizierung, daher wird es nie eine Spalte 0 geben. Abhängig vom Datentyp (den Sie mit str (data) erhalten) erhalten Sie die Daten über roamnames (Daten) (wenn es sich tatsächlich um eine Matrix oder einen data.frame handelt) oder über einen Index (wenn es sich um eine Zeitreihe handelt, wie es wahrscheinlich erscheint).

0

Es gibt keine 0. Spalte namens rownames wie wir Namen für Spalten haben, haben wir Namen für Zeilen.

Angezeigt Beispiel für iris Dataset

rownames(iris) 

In Ihrem Fall: rownames(data)

Stattdessen können Sie eine weitere Datenrahmen erstellen df wo Sie rownames als Erste Spalte anhängen und dann den gesamten Datensatz, unten für iris gezeigt Datensatz.

df <- data.frame(cbind(First_col=rownames(iris), iris)) 
    head(df) 

    # First_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
    # 1   1   5.1   3.5   1.4   0.2 setosa 
    # 2   2   4.9   3.0   1.4   0.2 setosa 
    # 3   3   4.7   3.2   1.3   0.2 setosa 
    # 4   4   4.6   3.1   1.5   0.2 setosa 
    # 5   5   5.0   3.6   1.4   0.2 setosa 
    # 6   6   5.4   3.9   1.7   0.4 setosa 

Zum Drucken von rownames von df hier

print(head(df), row.names=F) 
    # First_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
    #   1   5.1   3.5   1.4   0.2 setosa 
    #   2   4.9   3.0   1.4   0.2 setosa 
    #   3   4.7   3.2   1.3   0.2 setosa 
    #   4   4.6   3.1   1.5   0.2 setosa 
    #   5   5.0   3.6   1.4   0.2 setosa 
    #   6   5.4   3.9   1.7   0.4 setosa 

erstellt vermeiden Sie das gleiche für das Dataset implementieren können.

Verwandte Themen