VitaBox AD

2022年3月6日 星期日

[R]如何根據特定字元拆分數據(str_split_fixed)?

關於數據集(dataset)的處理,往往讀入數據集後,需要進一步對於數據進行拆分或合併處理,以利銜接後續數據分析工作。在R語言中,可利用安裝包 stringr中的str_split_fixed指令,根據特定字元拆分批量數據,達到數據匯總之效果。

本文利用經典的MovieLens數據集做為範例,其中該數據集包含movies.dat、ratings.dat和users.dat,我們以ratings.dat檔案做為拆分的範例說明。


a.首先,用read.table將ratings.dat讀入,檔案數據排列顯示如下圖一,可明顯看出數據以合併在同一個變量欄位,同時以::作為分隔符號。


#read data
mv_ratings<-read.table("ratings.dat")

圖一















b.執行str_split_fixed之前,記得先載入library(stringr)。利用str_split_fixed將mv_ratings$V1以::作為分隔符號,拆分為四個變量。為了便於數據解讀和後續程序撰寫,利用colnames對拆分數據加以重新命名,輸出結果如下圖二。

#library
library(stringr)
#split and rearrange and rename data(dataframe)
ratings_tb<-data.frame(str_split_fixed(mv_ratings$V1, "::", 4))
colnames(ratings_tb)<-c("UserID","MovieID","Rating","Timestamp")

圖二


沒有留言:

張貼留言