2014-06-16 22 views
5

我可以初始化通過如何使用POSIXct類型的列初始化data.frame?

df <- data.frame(a=numeric(), b=character()) 

一個data.frame但是我怎麼定義類型POSIXct的列?

df <- data.frame(a=numeric(), b=character(), c=POSIXct()) 

將不起作用。

+2

也許'DF < - data.frame(A =數字()中,b =字符()中,c = as.POSIXct(字符()))'做你想要的嗎? – konvas

+0

@konvas謝謝,那就是我在找的東西。你可以把它寫成答案,我會給你獎勵。 – JerryWho

+0

好吧,很高興它的作品。謝謝 – konvas

回答

5

您可以嘗試

df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character())) 
0

一個額外的小費上述初始化:如果你開始rbind()活動將行添加到這個空數據幀時,您可能會遇到這樣的錯誤下面如果按照這個圖案:

oneDF <- rbind(oneDF,twoDF,stringsAsFactors=FALSE) 
Error in as.POSIXct.default(value) : 
    do not know how to convert 'value' to class "POSIXct" 

我終於發現,除去stringsAsFactors = FALSE允許用於POSIXct值(既整數時間和時區),以傳輸到目標DF。

oneDF <- rbind(oneDF,twoDF) 

檢查結果:

unclass(oneDF$mytime) 
[1] 1282089600 
attr(,"tzone") 
[1] "GMT"