2017-07-07 43 views
0

我從這個csv文件一組日期,並希望將其轉換爲一個日期格式中的R如何轉換因素日期R中

BPL16_17 <- read.csv("BPL16:17.csv") 
attach(BPL16_17) 
newdate<-strptime(Date,format =("%Y-%m-%d")) 
newdate 

爲newdate我得到; [1]不適用不適用不適用不適用不適用...

+0

兩件事情1.運行'STR(日期)'來看看[R認爲這是,如果它是一個因素,試試:'BPL16_17 < - read.csv(「BPL16:17.csv」,stringsAsFactors = FALSE)'然後使用POSIXct或strptime格式。 – sconfluentus

+0

此外,除非有足夠的理由將文件附加到全局環境中的固定位置,否則您可以在不附加數據框的情況下處理數據框「BPL16_17」......附加對象時,除非您分離並重新附加,否則更改所以'Date'字段仍然是一個因素...... – sconfluentus

+0

問題不在話下,輸出可能會受益於使用** Batman **字符串編寫的.paste()。 :) – iamdanchiv

回答

0

嘗試使用read.csv中的選項stringsAsFactors=FALSE將日期列作爲字符串讀取,而不是作爲因子。

或者,從因素轉換日期列使用示例中使用as.character(BPL16_17$Date)

0

數據集角色是從hereflight-data

#read the dataset 
df<-read.csv("D:/data/airline_delay_2014_1.csv", stringsAsFactors = FALSE) 

str(df) 
'data.frame': 471949 obs. of 27 variables: 
$ YEAR    : int 2014 2014 2014 2014 2014 2014 2014 2014 2014 2014 ... 
$ MONTH   : int 1 1 1 1 1 1 1 1 1 1 ... 
$ DAY_OF_MONTH  : int 25 30 24 1 3 4 5 9 13 12 ... 
$ FL_DATE   : chr "2014-01-25" "2014-01-30" "2014-01-24" "2014-01-01" ... 
$ CARRIER   : chr "EV" "EV" "EV" "EV" ... 
$ TAIL_NUM   : chr "N12530" "N15527" "N11526" "N28529" ... 
$ FL_NUM   : int 4524 4524 4524 4524 4524 4524 4524 4524 4524 4524 ... 
$ ORIGIN   : chr "LFT" "LFT" "LFT" "LFT" ... 
$ ORIGIN_CITY_NAME : chr "Lafayette, LA" "Lafayette, LA" "Lafayette, LA" "Lafayette, LA" ... 
$ ORIGIN_STATE_ABR : chr "LA" "LA" "LA" "LA" ... 
$ ORIGIN_STATE_NM : chr "Louisiana" "Louisiana" "Louisiana" "Louisiana" ... 
$ DEST_AIRPORT_ID : int 12266 12266 12266 12266 12266 12266 12266 12266 12266 12266 ... 
$ DEST    : chr "IAH" "IAH" "IAH" "IAH" ... 
$ DEST_CITY_NAME : chr "Houston, TX" "Houston, TX" "Houston, TX" "Houston, TX" ... 
$ DEST_STATE_ABR : chr "TX" "TX" "TX" "TX" ... 
$ DEST_STATE_NM : chr "Texas" "Texas" "Texas" "Texas" ... 
$ DEP_TIME   : int NA NA NA 636 959 700 654 656 651 656 ... 
$ DEP_DELAY  : num NA NA NA -12 191 12 6 1 -9 1 ... 
$ ARR_TIME   : int NA NA NA 733 1057 811 757 804 749 800 ... 
$ ARR_DELAY  : num NA NA NA -23 181 15 1 2 -18 -2 ... 
$ CANCELLED  : num 1 1 1 0 0 0 0 0 0 0 ... 
$ CANCELLATION_CODE: chr "B" "B" "B" "" ... 
$ AIR_TIME   : num NA NA NA 38 39 40 43 52 47 40 ... 
$ DISTANCE   : num 201 201 201 201 201 201 201 201 201 201 ... 
$ CARRIER_DELAY : num NA NA NA NA 181 12 NA NA NA NA ... 
$ WEATHER_DELAY : num NA NA NA NA 0 0 NA NA NA NA ... 
$ X    : logi NA NA NA NA NA NA ... 

class(df$FL_DATE) 
[1] "character" 

轉換FL_DATEDate類,

df$FL_DATE<- as.Date(df$FL_DATE, format = "%Y-%m-%d") 

#check class now 
class(df$FL_DATE) 
[1] "Date"