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

Posted

技术标签:

【中文标题】如何使用 R 中指定的列名创建空数据框? [复制]【英文标题】:How to create empty data frame with column names specified in R? [duplicate] 【发布时间】:2012-09-18 19:09:04 【问题描述】:

可能重复:Create an Empty Data.Frame

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

【问题讨论】:

【参考方案1】:

只需创建一个具有 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 列名为 a、b、c、d、e 的 data.frame

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

【讨论】:

为什么 z 转换为因子? @pssguy 因为 data.frame 的默认行为,特别是参数 stringsAsFactors = T 的默认值。【参考方案2】:

也许:

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

【讨论】:

以上是关于如何使用 R 中指定的列名创建空数据框? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

通过分配字符串向量创建具有列名的空数据框? [复制]

如何在 R 中将行添加到带有标题的空数据帧? [复制]

R使用标题向量创建空数据框[重复]

R:向空数据框添加行时丢失列名

如何解决本机 Java 或 Kotlin 中的错误“在依赖项的 AAR 元数据中指定的 minCompileSdk (31)”? [复制]

python 使用列名创建空数据框