Maak een leeg data.frame

Ik'probeer een data.frame te initialiseren zonder rijen. In principe wil ik de datatypes voor elke kolom specificeren en ze een naam geven, maar geen rijen laten aanmaken als resultaat.

Het beste wat ik tot nu toe heb kunnen doen is zoiets als:

df <- data.frame(Date=as.Date("01/01/2000", format="%m/%d/%Y"), 
                 File="", User="", stringsAsFactors=FALSE)
df <- df[-1,]

Dat creëert een data.frame met een enkele rij die alle datatypes en kolomnamen bevat die ik wilde, maar creëert ook een nutteloze rij die vervolgens moet worden verwijderd.

Is er een betere manier om dit te doen?

Oplossing

initialiseer het gewoon met lege vectoren:


df 
Commentaren (16)

U kunt dit doen zonder kolomtypes te specificeren

df = data.frame(matrix(vector(), 0, 3,
                dimnames=list(c(), c("Date", "File", "User"))),
                stringsAsFactors=F)
Commentaren (1)

Je zou read.table met een lege string voor de invoer text als volgt kunnen gebruiken:


colClasses = c("Date", "character", "character")
col.names = c("Date", "File", "User")

df 
Commentaren (3)