2022年5月2日 星期一

[R]如何查詢符合條件的對應行列數據?

這個功能類似Excel中Vlookup函數的效果。但Excel畢竟有儲存欄位數量的限制,換句話說,Excel能處理數據量級是受限制的。在R語言中,亦可用which來實現查詢符合條件的對應行列數據。

延續[R]如何根據特定字元拆分數據(str_split_fixed)?一文, 可知ratings_tb為具有四個變量的dataframe,其中包含UserID, MovieID,Ratig和Timestamp四個變量,如下圖一所示。


圖一

若欲進一步取得rating=5的MovieID數據,可參考下列語法。其中用head僅取出前15個rating為5的MovieID,以供與圖一數據對照。


#query MovieID which rating=5

mv_rating_5<-ratings_tb[which(ratings_tb$Rating == 5),'MovieID']

#輸出結果

> head(mv_rating_5,15)

 [1] "1193" "2355" "1287" "2804" "595"  "1035" "3105" "1270" "527"  "48"   "1836"

[12] "1022" "150"  "1"    "1961"


-----如果文章對您有幫助,打開微信掃一掃,請作者喝杯咖啡。-----


沒有留言:

張貼留言