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

Sur*_*dhi 142 r dataframe

可能重复:
创建一个空Data.Frame

我需要在R中使用指定的列名创建一个空数据框.最简单的方法?

mne*_*nel 170

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

例如

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: 
Run Code Online (Sandbox Code Playgroud)

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

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

  • @pssguy是因为data.frame的默认行为,特别是参数stringsAsFactors = T的默认值. (5认同)
  • 为什么z转换为因子? (3认同)

42-*_*42- 16

也许:

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