如何使用 R 中指定的列名创建空数据帧?

249418 次浏览

也许:

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

只需创建一个长度变量为0的 data.frame

例句

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:

或者创建一个包含5列的 data.frame,这5列分别命名为 a、 b、 c、 d、 e

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