2012-01-20 21 views
14

Niedawno zacząłem używać R i nadal przyzwyczajam się do jego typów danych itp. Pobieram dane z bazy danych, wykonuję obliczenia na danych, a następnie zapisuję niektóre wyniki do bazy danych.Programowe tworzenie ramki danych i dodawanie do niej wierszy

Obliczone dane należy przechowywać w określonej tabeli w bazie danych. Chcę utworzyć ramkę danych z kolumnami pasującymi do kolumn tabeli db (to jest tej samej nazwy i typu danych [w pobliżu]). Aby to zrobić, trzeba być w stanie wykonać następujące czynności:

  1. Programowo utworzyć ramkę danych z określonych „kolumny” wiem, że mogę tworzyć to z data.frame(), ale nie jest jasne, jak utworzyć ramkę danych z tylko nagłówkami kolumn, ale bez danych (wiersze).

  2. Programowo dodać wiersze pustej ramki danych utworzonego w etapie 1 powyżej

żadnej pomocy (korzystnie z fragmentem) będzie bardzo przydatna

Odpowiedz

22
empty <- data.frame(a = numeric(), b = factor(), c = character()) 
filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def")) 

Tutaj jest w akcji

> empty <- data.frame(a = numeric(), b = factor(), c = character()) 
> empty 
[1] a b c 
<0 rows> (or 0-length row.names) 
> empty$a 
numeric(0) 
> empty$b 
factor(0) 
Levels: 
> empty$c 
character(0) 
> filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def")) 
> summary(filled) 
     a  b   c    
Min. :1 abc:1 Length:1   
1st Qu.:1   Class :character 
Median :1   Mode :character 
Mean :1        
3rd Qu.:1        
Max. :1 
+0

okazji, to jest ok mi zastąpić wypełniona <- rbind (puste data.frame (a = 1, b = czynnikiem ("abc"), C = „d ef ")) z: puste <- rbind (puste, data.frame (a = 1, b = współczynnik (" abc "), c =" def ")) Tak więc nie tworzę nowej ramki danych dla każdego wiersz został dodany? –

+8

Możesz to zrobić. Ale w każdym razie: jesteś w drugim kręgu R piekła: http://www.burns-stat.com/pages/Tutor/R_inferno.pdf – Thierry

Powiązane problemy