如何创建与现有 data.frame 具有相同列名和类型的新 data.frame?

How do I create a new data.frame with the same column names and types as an existing data.frame?

我有一个现有的 data.frame 想要克隆,但没有其中的值。 IE。我希望新框架具有与现有框架相同的列名和类型。原始框架可能是 GB 量级,因此复制和删除数据似乎不是正确的做法,并且遍历现有列以将它们添加到新框架似乎也不是很 'R'做事方式。

如果您需要零行,请引用第零行:

iris[0,]
[1] Sepal.Length Sepal.Width  Petal.Length Petal.Width  Species     
<0 rows> (or 0-length row.names)
sapply(iris[0,],class) # still has correct column classes
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
   "numeric"    "numeric"    "numeric"    "numeric"     "factor" 

如果要NA数据,在原始数据的行域外引用:

iris[nrow(iris)+1:3,]
     Sepal.Length Sepal.Width Petal.Length Petal.Width Species
NA             NA          NA           NA          NA    <NA>
NA.1           NA          NA           NA          NA    <NA>
NA.2           NA          NA           NA          NA    <NA>