簡體   English   中英

data.table的數學運算(在R中)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM