Crear un data.frame vacío

Estoy tratando de inicializar un data.frame sin ninguna fila. Básicamente, quiero especificar los tipos de datos para cada columna y nombrarlos, pero no tener ninguna fila creada como resultado.

Lo mejor que he podido hacer hasta ahora es algo como

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

Lo cual crea un data.frame con una sola fila que contiene todos los tipos de datos y nombres de columnas que quería, pero también crea una fila inútil que luego hay que eliminar.

¿Hay una forma mejor de hacer esto?

Solución

Sólo hay que inicializarlo con vectores vacíos:


df 
Comentarios (16)

Puede hacerlo sin especificar los tipos de columna

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

Puede utilizar read.table con una cadena vacía para la entrada text de la siguiente manera:


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

df 
Comentarios (3)