2016-08-17 8 views
6

Myślę, że brakuje mi podstawowej koncepcji dotyczącej ramek danych R.Co jest o pierwszej kolumnie w zestawie danych mtcars R?

head(mtcars) 
        mpg cyl disp hp drat wt qsec vs am gear carb 
Mazda RX4   21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 
Mazda RX4 Wag  21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 
Datsun 710  22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 
Valiant   18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 

Nazwy samochodów tutaj. Czy to jest kolumna? Nie sądzę, bo nie jestem w stanie uzyskać do nich dostępu poprzez mtcars[,1]. I nie ma dla niej nazwy/nagłówka kolumny.

Jak utworzyć taką ramkę danych? Jak mogę użyć tej specjalnej kolumny, np. opisać dane na wykresie, na przykład?

+5

Są to nazwy wierszy. 'rownames (mtcars)' – zx8754

Odpowiedz

7

Są nazwy rzędu, aby uzyskać dostęp do ich użycia:

rownames(mtcars) 

Dla nazw kolumn używać colnames, aby zobaczyć obie nazwy wierszy i kolumn, możemy użyć:

dimnames(mtcars) 

Aby zmodyfikować, na na przykład pierwszy wiersz:

rownames(mtcars)[1] <- "myNewName" 

Po utworzeniu ramki danych z data.frame nazwy rzędów są przypisane za pomocą 1: nn umbers.

mydata <- data.frame(x = 1:5) 

Wtedy możemy je zmodyfikować:

rownames(mydata) <- paste0("MyName", 1:5) 

Albo możemy dodać rownames podczas tworzenia data.frame:

mydata <- data.frame(x = 1:5, row.names = paste0("MyName", 1:5)) 

Uwaga: rownames nie są bardzo wiarygodne, na przykład zobacz this post. (może to być subiektywna opinia i unikam ich przez ponowne przypisywanie rownamesów do kolumn)

pakiety data.table i dplyr preferują, aby ich nie mieć. Zawsze możesz zmienić przypisanie rownów w kolumnach jako:

mydata$myNames <- rownames(mydata) 
+1

** nazwy wierszy ** ?! To jest poza moim Excel-wszechświatem! Wspaniały! ;) – buhtz

+0

btw: Niektóre biblioteki eksportu (dla plików csv lub xlsx) używają rownames jako pierwszej kolumny. Czy mogę usunąć rownames? – buhtz

+0

Kiedy robię 'mtcars $ mpg', brakuje rownames. Czy można to naprawić? – buhtz

Powiązane problemy