2015-01-13 33 views
1

我有一個現有的data.frame,我想克隆,但沒有其中的值。即。我希望新框架與現有框架具有相同的列名和類型。原始框架可以是GB的順序,因此複製和刪除數據看起來並不是正確的方式,並且迭代現有列以將它們添加到新框架似乎不是一個非常「 R'做事的方式。如何使用與現有data.frame相同的列名和類型創建新的data.frame?

+1

您是否也想盡可能多的*行*與原始(與NA值)?或者你想要零行? –

+2

你爲什麼要這樣? – Roland

回答

3

如果你想零行,引用零個行:

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> 
+0

完美 - 你的第一個答案正是我所期待的。謝謝! –

相關問題