這個功能類似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"
-----如果文章對您有幫助,打開微信掃一掃,請作者喝杯咖啡。-----
沒有留言:
張貼留言