2014-05-24 28 views
1

我有一個R data frame哪些列是邏輯變量。 我需要做一些點產品所有可能的列對計算數據幀中所有列對之間的點積

這來自文本語料庫分析,其中數據框指示哪些文檔(列)中存在哪些術語(行)。對於希望通過使用cluster包中的daisy包或lsa包中的cosine來計算每個可能的列對的距離的情況,存在常見的快速解決方案。

然而,我需要在所有列對之間使用某種點積來代替:目標是統計兩個文檔中同時存在多少個單詞(以及每個單元對)。

+0

嗨,需要一些時間和前閱讀標籤摘錄標記。 [tag:dataframes]是熊貓,而你需要[tag:data.frame]在這裏。下次再小心點。看到這篇文章。 [警告\ [r \]用戶添加\ [dataframes \]標記而不是\ [data.frame \]標記](http://meta.stackoverflow.com/q/318933) –

回答

3

讓我們用這個例子:

df <- data.frame(x1 = c(T, T, F), x2 = c(F, F, F), x3 = c(T, F, T)) 

我會轉data.frame到矩陣,然後計算交叉積:

crossprod(data.matrix(df)) 
# x1 x2 x3 
# x1 2 0 1 
# x2 0 0 0 
# x3 1 0 2 
相關問題