2012-09-27 9 views

Antwort

161

einfach ein data.frame mit 0 Länge Variablen erstellen

zB

nodata <- data.frame(x= numeric(0), y= integer(0), z = character(0)) 
str(nodata) 

## 'data.frame': 0 obs. of 3 variables: 
## $ x: num 
## $ y: int 
## $ z: Factor w/ 0 levels: 

oder eine data.frame mit 5 Spalten a, b, c Namen zu erstellen, d, e

nodata <- as.data.frame(setNames(replicate(5,numeric(0), simplify = F), letters[1:5])) 
+3

warum z konv zu Faktor? – pssguy

+5

@pssguy wegen des Standardverhaltens von data.frame, und speziell der Standardwert für das Argument StringsAsFactors = T. –

16

Vielleicht:

> data.frame(aname=NA, bname=NA)[numeric(0), ] 
[1] aname bname 
<0 rows> (or 0-length row.names) 
Verwandte Themen