2016-04-15 14 views
0

Ich wurde gebeten, eine CSV-Datei in R zu importieren und Zeilen für 2 Personen mit dem Geschlecht und dem Geburtsdatum einzufügen.R Daten einfügen in Klassenfaktor

Bestehende Datenrahmen:

Sex      BirthDate 

1      05/10/1952   
1      14/06/2004       
2      21/11/1963 

Im bestehenden Datenrahmen Geburtsdatum ist in der Klasse "Faktor".

class(BirthDate) 
[1] "factor" 

Ich brauche einzufügen:

person 1 : 2, 20/10/1980 
person 2 : 1, 21/02/1970 

Ich habe versucht:

b1 <- rbind(
    dataf1, 
    c("2", as.factor("20/10/1980")), 
    c("1", as.factor("21/02/1970")) 
) 

aber ich habe NA in Birth

Wie Daten eingefügt werden, ohne dass die bestehenden Datenrahmen zu ändern?

+2

"ohne Änderung der vorhandenen data.frame" ist unmöglich – MichaelChirico

+0

Vielen Dank für Ihre Antwort! –

Antwort

1

Sein Bestes, um das as.is Argument zu verwenden, wenn read.csv und anschließend nach dem Lesen der Datumsvariablen in ein Datum umwandeln:

my.data.frame <- read.csv(<filepath>, as.is=TRUE) 
my.data.frameBirthDate <- as.Date(my.data.frameBirthDate, format="%d/%m/%Y") 

Sie können dann die neuen Daten anhängen und nicht über die Faktoren Problem kümmern :

my.data.frame <- rbind(my.data.frame, 
        data.frame("Sex"=c(2,1), 
        "BirthDate"=as.Date(c("20/10/1980", "21/02/1970"), format="%d/%m/%Y"))) 
+0

Vielen Dank. Du hilfst mir sehr –