有一些操作是不能被向量化的.比如,如果當前迭代建立在上一次迭代的結果上,這樣的情況下向量化沒有用武之地.(但是一些情況被filter(),cumsum()掩蓋了,等等.)
如果你確實需要使用乙個迴圈,那就讓它盡可能簡潔:
下面的**返回矩陣的每一列元素之和(假設列的數量是正數):
sumxcol <- numeric(ncol(x))
for(i in 1:ncol(x)) sumxcol[i] <- sum(x[,i])
乙個更普遍的方式肯能是這樣的:
除了這種常用的方法外,下面的**是在r**中沒有包含迴圈的做此類操作的特殊的函式:
sumxcol <- colsums(x)
當然還有函式rowsums(),colmeans(),rowmeans().
另外乙個方式是:
# %*%為求矩陣內積
sumxcol <- rep(1, nrow(x)) %*% x
這種方法用了矩陣的數乘,稍微動一下腦筋很多問題就會被蹂躪成矩陣數乘的形式.這確實是乙個有效的替代方法. 文字向量化
table of contents概述 word2vec nnlm c wcbow and skip gram doc2vec str2vec 文字表示是自然語言處理中的基礎工作,文字表示的好壞直接影響到整個自然語言處理系統的效能。文字向量化就是將文字表示成一系列能夠表達文字語義的向量,是文字表示的...
文字向量化
文字向量化,就是把文字轉化為向量形式。這裡用兩種方式實現本文向量,一種是tf方式,一種是tf idf方式,且這裡向量的長度就是字典的長度。計算兩個向量余弦相似度import math defcount cos similarity vec 1,vec 2 if len vec 1 len vec 2...
光柵的向量化
光柵資料檔案描述的是畫素,即乙個個的點。檔案的大小與解析度有相當大的關係。相同幅面圖紙形成的光柵檔案大小相等。向量 vector 資料檔案描述的是圖形單元,如一根直線 乙個圓等。檔案大小只與圖形單元的多少和複雜程度有關,而與圖紙幅面無直接關係。可直接用現有cad軟體進行編輯。光柵資料檔案轉化為向量資...