[英]mathematical operations on data.table(in R)
我(從我的朋友那里)聽說data.table上的數學運算比矩陣更快。 我正在嘗試計算兩個大小為30kx30k的矩陣的dot.product,並尋找所花費的時間
matrix1 = matrix(rexp(200, rate=.1), ncol=30000,nrow=30000)
matrix2 = matrix(rexp(200, rate=.1), ncol=30000,nrow=30000)
product = matrix1 %*% matrix2
我想用data.table做同樣的事情
dt1<- as.data.table(matrix1)
dt2<- as.data.table(matrix2)
你能告訴我是否有更簡單的方法在data.table上做點積(不將它們轉換成矩陣)?
這個問題的前提是不正確的。 data.table
s,與data.frame
一樣,是向量列表。
相反,矩陣是具有維度屬性的單個向量。
有一個與列表相關的開銷,如果您的數據可以適合矩陣,則可以避免這種開銷。
data.tables
相對於data.frames更快(並且取決於應用程序,列出自己),或者使用另一個向量作為迭代的索引。
但是,對於直矩陣乘法,堅持matrix
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.