R語言-使用data.table物件Cross Join

目錄

    原始文章

    R語言-使用data.table物件Cross Join


    原始文章

    R語言-使用data.table物件Cross Join


    data.table是R語言中非常流行且好用的套件,但是它join的方式不是很直覺。常用的join方式如下表。參考資料〈JOINing data in R using data.table〉

    Join類型DTdata.table::merge()
    InnerX[Y, nomatch = 0]merge(X, Y, all=FALSE)
    Left OuterY[X]merge(X, Y, all.x=TRUE)
    Right Outermerge(X, Y, all.y=TRUE)
    Full Outermerge(X, Y, all=TRUE)
    Full Outer Where Null (Not Inner)merge(X, Y, all=TRUE)
    Cross Join

    那Cross Join呢?

    Cross Join是SQL中的一種Join方式,這個方式會讓資料量瞬間爆增,但某些情況下卻也滿好用的。

    SQL CROSS JOIN
    圖片來源:SQL CROSS JOIN

    來吧,複製貼上

    把這個function加到你的codebase中,這樣之後就可以直接使用了,簡潔俐落又帥氣。

    dt_cross_join <- function(a, b){  
      cj = CJ(1:nrow(a),1:nrow(b))
      cbind(a[cj[[1]],],b[cj[[2]],])
    }

    推薦文章

    在DataCamp學Python和R語言,快速入門資料科學



    推薦文章

    Aron

    搭載商業思維的資料科學家,工業設計系畢業,曾任職知名品牌行銷企劃。下班後寫機器學習模型,寫網站,也寫文章。興趣是把Side Project當成創業題目來玩,把人生當成遊戲破關。

    facebook telegram

    推薦書單

    大人學選擇:成熟大人的獨立思考術(暢銷增訂版)
    大人學選擇:成熟大人的獨立思考術(暢銷增訂版) ⭐⭐⭐⭐⭐
    器識
    器識 ⭐⭐⭐⭐⭐
    抗老化,你需要大重量訓練
    抗老化,你需要大重量訓練 ⭐⭐⭐⭐⭐
    底層邏輯
    底層邏輯 ⭐⭐⭐⭐⭐

    發佈留言

    • * 表示必填欄位
    • 您填寫的電子郵件不會被公開
    • 請確認您的電子郵件正確無誤,當您的留言收到新的回覆時,我們會寄送通知信件給您

    發佈留言必須填寫的電子郵件地址不會公開。