看板 R_Language 關於我們 聯絡資訊
Hi, 我盡量理解你的意思了 下面是我用data.table寫的一種方法 其實也是土法煉鋼 我不太清楚有沒有更好的function可以一步到位 我自己用2000個值來看 沒啥速度問題 可能要200000或更大的值來看看吧 只是給你參考的一種做法 http://pastebin.com/zYjTra0i -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.32.234 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1485823980.A.406.html
phil5566: 謝謝clansoda大的回答,但是我用你的code跑過一遍之後發 01/31 16:02
phil5566: 現如果一開始產生data時沒有出現1.5,分類一樣不會出現 01/31 16:05
phil5566: 1.5,即產生出來的矩陣列數是小於120的矩陣 01/31 16:06
celestialgod: 因為他沒有看完你的文章XDD data.table做一樣是 01/31 16:07
celestialgod: 兩兩unique做 01/31 16:07
phil5566: 例如:http://pastebin.com/5yzV0TyT 01/31 16:08
phil5566: 不過再請教一下,您的code裡有一行是 01/31 16:15
phil5566: dat[, .(Counting = .N), .(x, y)][order(x, y)] 01/31 16:16
phil5566: dat是一個矩陣,為何dat[,,]裡會有兩個"," 01/31 16:18
phil5566: ?".N"和".(x, y)"代表什麼意思? 01/31 16:24
phil5566: `:=`和:=又是什麼意思?謝謝 01/31 16:28
celestialgod: dat是data.table不是矩陣 01/31 16:33
celestialgod: :=跟 `:=`基本是相同,一個是函數form,另一個是 01/31 16:33
celestialgod: operator 01/31 16:33
celestialgod: :=是operator, `:=`是函數 01/31 16:34
celestialgod: .N是計算個數, .(x,y)是他少寫了by = .(x,y) 01/31 16:34
celestialgod: by是data.table拿來做grouping的一個input 01/31 16:34
celestialgod: 我覺得p大還是專心在matrix上的操作就好 01/31 16:34
phil5566: 受教了~謝謝 01/31 17:12
clansoda: 我有看完 不過我真心看不太懂 覺得要用範例比較好 01/31 20:45