2012-05-08 34 views
6

Mam następujący ramkę danych:Jak dodać wiersz na górze ramki danych R

> dat 

    V1 V2 
1 1 6868 
2 2 954 
3 3 88 

Co chcę zrobić, to dodać kolejny wiersz na górze bieżącej wynikające z:

V1 V2 
1 0 10000 
2 1 6868 
3 2 954 
4 3 88 

Dlaczego to nie działa:

new_dat <- rbind(dat,c(0,10000)) 

Co to jest poprawny sposób to zrobić?

Odpowiedz

12

Put wektor, który ma na górze pierwsze:

new_dat <- rbind(c(0,10000), dat) 

Ale korzystając rbind tutaj zakłada, że ​​wszystkie kolumny są numeryczne, a ty zakładając kolumnę zamawia takie same jak wektor. W ogóle należy wiązać data.frames razem, coś takiego, gdzie można mieszać typów kolumn w razie potrzeby:

rbind(data.frame(V1 = 0, V2 = 10000), dat) 

Istnieje wiele innych opcji dla bardziej ogólnym scalania danych, takich jak ten.

8

Dlaczego nie ta praca: new_dat < - rbind (DAT, C (0,10000))

Jest w złej kolejności, wystarczy spojrzeć na wyjściu:

R> rbind(dat, c(0, 1000)) 
    V1 V2 
1 1 6868 
2 2 954 
3 3 88 
4 0 1000 

Zamiast zamienić kolejność argumentów:

rbind(c(0,10000), dat) 

aby uzyskać to, czego chcą. Alternatywnie, można mieć

rbind(data.frame(V1 = 0, V2 = 10000), dat) 
Powiązane problemy