创建一个空的数据框,其列名定义为序列

时间:2018-06-05 17:53:32

标签: r dataframe

我需要创建一个没有行的data.frame,但是指定的列名和列类型将在稍后填充。因为我想拥有1000列,所以逐个定义列(如下所示)不是一个选项。

data.frame(a1 = character(), a2 = character(), ..., a1000 = character())

我在考虑可能会使用paste函数来创建一系列名称,但以下内容不起作用。

data.frame(paste('a', 1:1000, sep = '') = character())

任何想法如何实现?

2 个答案:

答案 0 :(得分:2)

虽然它与@Nick Criswell非常相似,但您也可以这样做:

df <- data.frame(replicate(1000,sample(0:1,0,rep=TRUE))) 

> dim(df)
[1]    0 1000
> class(df)
[1] "data.frame"

答案 1 :(得分:1)

可能有一种方法可以在一行中执行此操作,但一个选项是首先创建一个空矩阵,将其转换为数据框,然后更改名称。

df <- data.frame(matrix("NA", nrow = 0, ncol = 1000), stringsAsFactors = FALSE)

names(df) <- paste("a", 1:1000, sep = "")

> dim(df)
[1]    0 1000
> class(df)
[1] "data.frame"