我有一個如下所示的數據集。每個產品(P *)都具有一定的功能(F *)開/關(1/0)。我無法很好地格式化表格。R中的分組和可視化累積功能
Product F1 F2 F3 F4 ....
P1 1 0 1 1
P2 0 1 1 0
P3 1 0 1 1
P4 0 0 0 1
..
..
Total 2 1 3 3
我有兩個問題。其中一個涉及如下所述的創建摘要,另一個涉及可視化這些數據。
1)總結: 鑑於此數據集,我想獲得產品的總和是在(1特徵的每個組合)。例如:
F1,F3,F4 = 2 i.e F1,F3,F4 are present in 2 products P1,P3.
F3,F4 = 2 i.e F3, F4 are present in 2 products P1,P3
F1, F2 = 2
F1, F4 = 2
在我的實際數據集中,功能的數量約爲200個,產品數量類似於10k +。爲了優化計算,我不介意提供具有特定功能的產品百分比的閾值。我的意思是,從給出的例子來說,可以說我的閾值是50%,並且有4個產品,所以任何超過50%的特徵即2被認爲是分組,並且在這種情況下它將會是特徵F1,F3,F4。 F1不被認爲是,因爲它的列總和是< 2.
2)可視化: 我想的條形圖中可視化該結果的。隨意建議是否有更好的方法來形象化。
我的方法:我是R和統計學的新手,但熟悉C#。
- 計算每個要素的總和。
- 對於從最高計數開始的每組總和來確定所有具有此功能的產品。從上面的示例數據集中:F3,F4的最大數量爲3(閾值內),因此獲得所有F3,F4開啓的產品。接下來(最大計數 - 1)2,這將是功能F1,F3,F4,並獲取所有這些功能打開的產品。直到滿足閾值爲止。
我正在學習編寫此代碼的過程,因此無法分享代碼示例。
考慮到我的數據集的維度,我相信我的方法在計算上很昂貴,並且相信可能有更好的方法來實現這一點。預先感謝您的努力。
因爲它的立場這個問題過於寬泛:你問多個問題,而答案需要很長的教程不是很適合這個格式的形式。我會說dplyr工具和ggplot2可視化包是專門爲這種類型的問題而設計的,並且會推薦閱讀以下解釋:http://vita.had.co.nz/papers/tidy-data.pdf –
如果我明白這一點你有多達200個功能,並且你想爲這200個每個獨特的1或0組合進行求和。這應該是2^200可能的組合,超過10^60。如果是這樣的話,我不認爲這是一個可行的項目。 –
感謝大衛和約翰,爲您的時間。我將探索dplyr工具。是的,我同意這樣做在計算上花費很大,只是想獲得反饋和反彈的想法。 – user1596213