如何在R中创建指定列名的空数据框?

145

我需要在R中创建一个带有指定列名的空数据框,有什么最简单的方法吗?

可能重复:
创建一个空的数据框

2个回答

176

只需创建一个具有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: 

或者创建一个名为a、b、c、d、e的包含5列的数据框

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

3
为什么 Z 转换为 Factor? - pssguy
6
由于data.frame的默认行为,特别是参数stringsAsFactors = T的默认值。 - Antoine Lizée

16

或许:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接