Stata中的%tw格式的格式爲:1960w1,它在R中沒有等效物。 因此必須對%tw日期進行後處理。後處理a Stata%tw日期R
將一個.dta文件導入到R中,日期是1304(而不是1985w5)或1426(而不是1987w23)的整數。如果這是一個簡單的時間系列中,您可以設置起始日期如下:
ts(df, start= c(1985,5), frequency=52)
另一種可能性是:
as.Date(Camp$date, format= "%Yw%W" , origin = "1985w5")
但是,如果各行沒有一個日期,則必須將其轉換。
ISOweek包基於ISO-8601形式「1985-W05」,並且不處理Stata%tw。
Lubridate軟件包不支持這種格式。 week()返回在日期和1月1日之間發生的完整的七天期間的數量加上一個。 week function
在Stata的任何一週的第1周從1月1日開始,無論一週中的哪一天。 Stata Documentation on Dates
在R中的日期格式%W中,周開始爲星期一,即星期的第一天。
從strptime%V是
年爲十進制數(00--53)的周爲ISO 8601 定義如果本週含1月1日(星期一開始)有四個或在新的一年多天,然後它被認爲是周1。否則, 是前一年的最後一週,下一週是1周 (接受但被忽略的輸入。)Strptime
Larmarange在Github上指出Haven doesn't interpret dates properly:
月份,周,季度和半年分別是Stata, 的具體格式,%tm,%tw,%tq和%th。我不確定在R中有沒有 對應的格式。到目前爲止,它們被導入爲 整數。
有沒有辦法將Stata%tw轉換爲日期格式R理解? Here is an Stata file with dates