我目前正在跨文本信息的大型數據庫(大約分佈在307個文本文件中的大約108MB)中顯示詞和詞組的頻率。我的目標是想方設法快速查看哪些文件是最相關的,並且具有視覺吸引力的格式(儘管此項目可能還會證明只是具有文本表示總是更清楚)。使用BarChart []工具提示來說明數據來自何處
現在我有以下:
SetDirectory["/MYMATHEMATICADIRECTORY/"];
filelist = FileNames[];
viewerCount1 = {0};
viewerCount2 = {0};
word1 = "freedom";
word2 = "liberty";
Do[
searchDB = StringSplit[Import[filename]];
AppendTo[viewerCount1, Count[searchDB, word1]];
AppendTo[viewerCount2, Count[searchDB, word2]];
, {filename, filelist}]
list3 = Take[viewerCount1, {2, -1}]
list4 = Take[viewerCount2, {2, -1}]
文件名[]產生一個列表,諸如:{ 「001ABbenevolat.txt-cleaned.txt」, 「002abnature.txt-cleaned.txt」,「 003aboriginaldocs.txt-cleaned.txt「,」004ABpresse.txt-cleaned.txt「,」005acadian.txt-cleaned.txt「,」006acadiedelile.txt-cleaned.txt「,」007acfa.txt-cleaned.txt「} [除了307個條目,全部編號]。
項目list3生成列表,例如:{0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,100 2,0,0,0,10, 1,7,0,0,0,0,23,3,0,0,0,0,0,0,0,0,2,0,0,0,9,0,1,0,1, 0,5,0,13,0,0,0,0,0,0,0,0,0,0,1,0,2,0,4,0,0,0,1,11,0, 2,0,0,2,7,1,4,1,0,0,0,0,0,0,0,0,13,...}等等。
命令:
BarChart3D[{list3, list4}, BarSpacing -> {0.5, 0}, ChartLayout -> "Grid"]
生成一些接近我想要的(想象它們作爲文件夾豎起)。但是,我想添加有意義的工具提示。默認情況下,它出現頻率。會不會有一種快捷的方法來包含頻率所附的文件名以及頻率?即一個提示'007acfa.txt-cleaned.txt - 32'的工具提示,其中32個出現在文件7中?
是否有一個字符的'sortedfrequency'計算中的第二個參數'Sort'失蹤?另外,如果用'{}'初始化'viewerCount#',則不需要'Take'來構造'list3'等... –
因此,list3中的* i * th數字對應於* i * th文件中的單詞? –
@BrettChampion'sortedfrequency'是一個多餘的命令 - 我編輯刪除它。感謝「Take」建議,我知道肯定有比我更好的方法。 –