2013-07-25 69 views
0

我找到了crbind結果的類是基於第一個參數的類。這對我造成了一個問題,因爲作爲第一個參數的NA的出現迫使Date向量到numeric向量。比較結果這兩個class電話:如何在R中連接數據時獲得正確類的結果?

x <- Sys.Date() 
y <- NA 
class(c(x, y)) # "Date" 
class(c(y, x)) # "numeric" 

,同樣也rbind

x <- data.frame(column=Sys.Date()) 
y <- data.frame(column=NA) 
class(rbind(x, y)$column) # "Date" 
class(rbind(y, x)$column) # "numeric" 

如何確保這些級聯的結果總是一個Date載體,不管參數的順序的?

回答

1

強制的第一個參數所需類:

c(as.Date(y), x) 
c(as.Date(x), y) 
1

使用方法,你要明確:

c.Date(y,x) 
+0

這對'C'有益的,但我可以做'rbind'類似的東西太? – Divinenephron

+0

是的,將'y $ column'的類設置爲'Date':'y < - data.frame(column = as.Date(NA))' – Roland

相關問題