2012-09-27 31 views

Trả lời

161

Chỉ cần tạo một data.frame với 0 biến chiều dài

ví dụ

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: 

hoặc để tạo ra một data.frame với 5 cột tên là a, b, c, d, e

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

tại sao z chuyển đổi ert to Factor? – pssguy

+5

@pssguy vì hành vi mặc định của data.frame và cụ thể là giá trị mặc định cho chuỗi đối số stringsAsFactors = T. –

16

lẽ:

> data.frame(aname=NA, bname=NA)[numeric(0), ] 
[1] aname bname 
<0 rows> (or 0-length row.names) 
Các vấn đề liên quan