2017-09-28 81 views
0

我有一個包含推文的數據集和twitter提供的關於它們的信息。我需要將我的日期從給定的格式轉換爲我可以正確理解的格式(優先使用函數,我可以選擇格式,因爲我可能需要在一週中的某天,某天的時間或類似情況下選擇推文)使用R,我剛開始學習這門語言。 我已經得到了日期的格式是:在R中處理twitter時間戳

1420121295000 
1420121298000 

我研究了一下才回答,並試圖使用功能,如as.POSIXct,如> POSIXlt等人,他們都讓我這個錯誤:

Error in as.POSIXct.default(date, format = "%a %b %d %H:%M:%S %z %Y", : 
do not know how to convert 'date' to class "POSIXct" 

回答

1

上面的格式是在時代。假設這是自紀元以來的毫秒(你必須仔細檢查Twitter的API),你可以使用anytime包中的任何時間函數從紀元轉換爲UTC時間,如下所示,它返回「2015-01-01 14 :08:15 UTC。「

anytime(1420121295000*0.001) #times 0.001 to convert to seconds 
format(anytime(1420121295000*0.001), tz = "America/New_York", usetz=TRUE) #converting from UTC to EST timezone. 
+0

如果我用我的時間標記的矢量做到這一點,它向我發送一個錯誤說 「在FUN錯誤(左,右):非數值參數二元運算符」, 它,如果我做的工作它與像你說的裸數字,但當我拋出一個變量它會得到我這個錯誤(即使我通過日期[1,1]作爲參數) –

+0

它可能是你的時間戳編碼爲一個因子/字符而不是作爲數字。如果它是一個因素,則可以使用as.numeric(as.character(timestamp))將其轉換爲數字,如果將其編碼爲字符,則使用as.numeric(timestamp)。看看這是否解決了這個問題。 – sparkh2o

+0

如果我使用class命令,它將返回 「錯誤:(列表)對象不能被強制鍵入'double'」。 如果我使用 as.numeric(as.character(日期)),其中日期是我的載體,我得到了as.character(時間戳) 「錯誤: 不能強迫式‘封閉’到類型的矢量'字符'」。 如果我只是用as.numeric(日期)我得到 「[1] NA 警告消息: 來港受到脅迫推出」 –