如何在 R 資料框列中將一週中的日期轉換為數字?
為了將 R 資料框列中的一週中的日期轉換為數字,我們需要透過定義工作日作為級別將該列轉換為因子,然後將該列讀取為整數。
如果我們在轉換過程中提供了正確的工作日順序,則星期一將轉換為 1。檢視下面的示例以瞭解如何操作。
示例 1
以下程式碼片段建立了一個示例資料框 -
Week_Days<- sample(c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"),20,replace=TRUE) df1<-data.frame(Week_Days) df1
建立了以下資料框
Week_Days 1 Friday 2 Monday 3 Tuesday 4 Saturday 5 Thursday 6 Tuesday 7 Monday 8 Thursday 9 Thursday 10 Friday 11 Thursday 12 Sunday 13 Thursday 14 Tuesday 15 Wednesday 16 Sunday 17 Friday 18 Wednesday 19 Sunday 20 Thursday
要將 df1 中的 Week_Days 轉換為數字並在上面建立的資料框的不同列中讀取它們,請將以下程式碼新增到上面的程式碼片段中 -
Week_Days<- sample(c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"),20,replace=TRUE) df1<-data.frame(Week_Days) df1$Days_Number<- as.integer(factor(df1$Week_Days,levels=c("Monday","Tuesday","Wednesday","Thursd ay","Friday","Saturday","Sunday"),ordered=TRUE)) df1
建立了以下資料框
Week_Days Days_Number 1 Friday 5 2 Monday 1 3 Tuesday 2 4 Saturday 6 5 Thursday 4 6 Tuesday 2 7 Monday 1 8 Thursday 4 9 Thursday 4 10 Friday 5 11 Thursday 4 12 Sunday 7 13 Thursday 4 14 Tuesday 2 15 Wednesday 3 16 Sunday 7 17 Friday 5 18 Wednesday 3 19 Sunday 7 20 Thursday 4
示例 2
以下程式碼片段建立了一個示例資料框 -
Time<- sample(c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"),20,replace=TRUE) df2<-data.frame(Time) df2
建立了以下資料框
Time 1 Tuesday 2 Thursday 3 Monday 4 Tuesday 5 Thursday 6 Sunday 7 Saturday 8 Monday 9 Thursday 10 Saturday 11 Wednesday 12 Monday 13 Wednesday 14 Sunday 15 Sunday 16 Sunday 17 Sunday 18 Wednesday 19 Saturday 20 Friday
要將 df2 中的時間轉換為數字並在上面建立的資料框的不同列中讀取它們,請將以下程式碼新增到上面的程式碼片段中 -
Time<- sample(c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"),20,replace=TRUE) df2<-data.frame(Time) df2$Day_Number<- as.integer(factor(df2$Time,levels=c("Monday","Tuesday","Wednesday","Thursday"," Friday","Saturday","Sunday"),ordered=TRUE)) df2
輸出
如果您將以上所有給定的程式碼片段作為單個程式執行,它將生成以下輸出 -
Time Day_Number 1 Tuesday 2 2 Thursday 4 3 Monday 1 4 Tuesday 2 5 Thursday 4 6 Sunday 7 7 Saturday 6 8 Monday 1 9 Thursday 4 10 Saturday 6 11 Wednesday 3 12 Monday 1 13 Wednesday 3 14 Sunday 7 15 Sunday 7 16 Sunday 7 17 Sunday 7 18 Wednesday 3 19 Saturday 6 20 Friday 5
廣告