1. 程式人生 > >R語言︱文字挖掘——詞雲wordcloud2包

R語言︱文字挖掘——詞雲wordcloud2包

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~

———————————————————————————


筆者看到微信公眾號探數尋理中提到郎大為Chiffon老師的wordcloud2,於是嚐鮮準備用一下。但是在下載的時候,遇見很多問題,安裝問題困擾著。。。

包中函式本身很好用,很簡單,而且圖形眾多。

————————————————————————————————————————————

一、wordcloud2包的安裝

官方郎大為老師github部落格連結:https://github.com/Lchiffon/wordcloud2

老師的中文部落格連結:http://lchiffon.github.io/2016/06/01/wordcloud2.html

官方下載方法:

install.packages('devtools')
devtools::install_github("lchiffon/wordcloud2")

這裡我是下載不了,出現以下的報錯:
Downloading GitHub repo lchiffon/[email protected]
from URL https://api.github.com/repos/lchiffon/wordcloud2/zipball/master
Error in curl::curl_fetch_memory(url, handle = handle) : 
  Problem with the SSL CA cert (path? access rights?)

library(RCurl)
library(httr)
set_config( config( ssl_verifypeer = 0L ) )

解決了curl這個問題。但是又出現報錯:
Error in read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : 
  無法開啟鏈結

於是找到了R-3.3.0中一個叫jsonlite的包,刪除並重新安裝之後。直接devtools::install_github("lchiffon/wordcloud2")就可以順利安裝成功了。

問題的關鍵可能是:jsonlite這個包以及curl中的一些設定。

————————————————————————————————————————————

二、wordcloud2函式說明

wordcloud2(data, size = 1, minSize = 0, gridSize =  0,
    fontFamily = NULL, fontWeight = 'normal',
    color = 'random-dark', backgroundColor = "white",
    minRotation = -pi/4, maxRotation = pi/4, rotateRatio = 0.4,
    shape = 'circle', ellipticity = 0.65, widgetsize = NULL)

常用引數:

(1)data:詞雲生成資料,包含具體詞語以及頻率;

(2)size:字型大小,預設為1,一般來說該值越小,生成的形狀輪廓越明顯;

(3)fontFamily:字型,如‘微軟雅黑’;

(4)fontWeight:字型粗細,包含‘normal’,‘bold’以及‘600’;;

(5)color:字型顏色,可以選擇‘random-dark’以及‘random-light’,其實就是顏色色系;

(6)backgroundColor:背景顏色,支援R語言中的常用顏色,如‘gray’,‘blcak’,但是還支援不了更加具體的顏色選擇,如‘gray20’;

(7)minRontatin與maxRontatin:字型旋轉角度範圍的最小值以及最大值,選定後,字型會在該範圍內隨機旋轉;

(8)rotationRation:字型旋轉比例,如設定為1,則全部詞語都會發生旋轉;

(9)shape:詞雲形狀選擇,預設是‘circle’,即圓形。還可以選擇‘cardioid’(蘋果形或心形),‘star’(星形),‘diamond’(鑽石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五邊形);


————————————————————————————————————————————

三、官方包中的幾個案例

1、案例一:星星圖

library(wordcloud2)
wordcloud2(demoFreq, size = 1,shape = 'star')


案例二:中文詞雲

wordcloud2(demoFreqC, size = 2, fontFamily = "微軟雅黑",
           color = "random-light", backgroundColor = "grey")


案例三:

wordcloud2(demoFreq, size = 2, minRotation = -pi/2, maxRotation = -pi/2)


案例四:

wordcloud2(demoFreq, size = 2, minRotation = -pi/6, maxRotation = -pi/6,
  rotateRatio = 1)


案例五:浩彬老撕的高考案例

資料來源:連結: http://pan.baidu.com/s/1jI4gEnc 密碼: uids

data <- read.csv('c:/data.csv', sep="," ,header = T)
#讀取原始資料
data
#檢查資料,檢視是否存在亂碼的情況
wordcloud2(data, size = 1, shape='star',color = 'random-dark',
backgroundColor = "white",fontFamily = "微軟雅黑")
#繪製文字雲,其中data就是我們讀取的資料,size是對應文字大小,shape是繪製形狀


案例六:浩彬老撕的高考案例

wordcloud2(demoFreqC, size = 1,color = 'random-light',
backgroundColor = "gray", fontWeight='bold',fontFamily = "微軟雅黑",
minRotation = -pi/3, maxRotation = pi/3,rotateRatio = 0.8)

在上面例子,我們重新設定了字型為粗體,字型旋轉角度在正負60度之間,旋轉比例為80%。

——————————————————————————————————————————————————————————

6月12日更新——自定義圖片+文字雲

從浩彬老師公眾號,看到wordcloud2更新了自定義圖片形狀、文字詞雲形狀。

已經安裝過wordcloud2包的童鞋,因為已經更新了,所以需要重新安裝。

install.packages('devtools')
devtools::install_github("lchiffon/wordcloud2")

1、自定義圖片程式碼

batman = system.file("examples/batman.png",package = "wordcloud2")
###讀取形狀圖片,注意圖片預設放在wordclou2的sample包中,浩彬老撕的路徑如下:"d:/Program Files/R/R-3.3.0/library/wordcloud2/examples/batman.png"
wordcloud2(demoFreq, figPath = batman, size = 1,color = "black")
###繪製雲此圖,其中demoFreg即為所用的資料,figPath = batman為所用圖片

其中需要把圖片,放到wordcloud2的examples包中,可以直接呼叫。


2、文字雲

有些時候,我們除了需要自定義形狀,可能也需要形成文字,這就需要用到wordcloud2中的新函式letterCloud

程式碼:

letterCloud(demoFreq, word = "高考", wordSize = 2,color = 'random-dark',backgroundColor = "snow")
###其中demoFreqC為需要用的詞語以及詞頻資料,word是需要視覺化的文字


————————————————————————————————————————————————————————

應用一:報錯Error in gsub

Error in gsub("</", "\\u003c/", payload, fixed = TRUE) : 
  invalid multibyte string at '<88>,<32>3754","鍟婂晩","榪欎釜","鍠滄","浠€涔<88>,6390","鎴戠殑","鍙埍","鍝堝搱","鍗фЫ","寮瑰箷","鎬庝箞","涓€涓<aa>,4357","浣犱滑","琛ㄧ櫧","鎰熻","榪欎箞","鍙互","娌℃湁","瑙夊緱","鍓嶉潰","閭d釜","鐭ラ亾","涓轟粈涔<88>,2586","鑷繁","榪欐牱","濂界湅","鐪嬪埌","鎵垮寘","鍑烘潵","濂藉儚","涓€鐩<b4>,2051","鍘夊浜<86>,2007","寮€濮<8b>,1975","鎴戜滑","鑰佽強","鑰佸笀","榪欓噷","宸茬粡","鐜板湪","鏃跺€<99>,1739","澹伴煶","濡瑰瓙","鍝ュ摜","鍘夊浜嗘垜鐨<84>,1586","鑰佸﹩","姝ょ敓","鏈夌偣","涓€鏍<b7>,1497","琛ㄧず","蹇冪柤","璁告効","鐪熺殑","閭d箞","涓嶉敊","絳夌瓑","鍒蛋","涓嶈兘","榪欑","紜竵","鍘夊","濂藉ソ","鎵€浠<a5>,1234","瀛楀箷","涓浗","鍏跺疄","娓告垙","鍥犱負","灞呯劧","涓€璧<b7>,1168","澶у","浠ヤ負","搴旇","璧鋒潵","涓€涓<8b>,1132","涓嶈","灝村艾","濂崇","鍥炴潵","涓栫晫","瀛╁瓙","濡傛灉","鍗佸厓","琛f湇","鍙戠幇","涓轟簡","濡堝","鐖哥埜","鍚堝獎","浣嗘槸","瑙嗛","緋誨垪","濮愬","婕備寒","絎竴
      筆者在嘗試wordcloud2的時候,本來是從來沒有遇到過報錯問題,但是公司電腦裡面是低版本的R(3.1),隨後就出現了這樣的報錯, 是格式問題,需要把中文格式轉化為UTF8才能塞入wordcloud2當中。

      於是筆者也在低版本下嘗試了很多種可能性譬如:

      1、強行轉化格式成UTF8,變成了一對文字亂碼;

      2、匯出後轉化為UTF8格式,匯出沒問題,但是匯入的時候出現了一堆亂碼的情況,還是失敗;

      於是乎,換了高版本的R之後,問題自然而然就解決了...  原因呢,筆者自然是不知道為什麼...

      來看看官方、作者的解決方案:

      方法一:將文字轉化為UTF-8

      方法二:使用前先:Sys.setlocale("LC_CTYPE","eng")

      筆者應用方法二完美解決問題了

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~

———————————————————————————

相關推薦

R語言文字挖掘——wordcloud2

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~———————————————————————————筆者看到微信公眾號探數尋理中提到郎大為Chiffon老師的wordcloud2,於是嚐鮮準備用一下。但是在下載的時候,遇見很多

R文字挖掘——wordcloud2

wordcloud2函式說明 wordcloud2(data, size = 1, minSize = 0, gridSize =  0,   fontFamily = NULL, fontWeight = ’normal’,   color = ’random-dark’, backgroundColor 

R語言文字挖掘套餐之——XML+SnowballC+tm

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~———————————————————————————R語言︱文字挖掘套餐包之——XML+tm+Snowb

R語言專題,如何使用party構建決策樹?

r語言下面將在iris數據集上,演示如何使用party包中的函數ctree來建立一棵決策樹。iris數據集中的Sepal.Length、Sepal.Width、Petal.Length和Petal.Width,都將用來預測鳶尾花的種類。party包中的函數ctree用來建立決策樹,函數predict用來對新數

R語言之數據處理常用

ble 2.6 ram ota 等於 sun desc ext cal dplyr包是Hadley Wickham的新作,主要用於數據清洗和整理,該包專註dataframe數據格式,從而大幅提高了數據處理速度,並且提供了與其它數據庫的接口;tidyr包的作者是Hadley

R語言︱情感分析—典型代碼實踐(最基礎)(一)

text cto 關於 ora 訓練集 其他 查找 rap boa R語言︱情感分析—基於監督算法R語言實現筆記。 可以與博客 R語言︱詞典型情感分析文本操作技巧匯總(打標簽、詞典與數據匹配等)對著看。 詞典型情感分析大致有以下幾個步驟: 訓練數據集、neg/pos情感

Python數據挖掘-

pen agg val nump columns 背景 sort wordcloud 分享圖片 詞雲繪制 1、語料庫的搭建、分詞來源、移除停用詞、詞頻統計 使用方法:os.path.join(path,name) #連接目錄與文件名或目錄 結果為path/name

Python數據挖掘-美化

round edge ner hit 數據 odin fit segments content 1、語料庫構建 由於不像之前是對很多個文件進行詞頻統計,所以不需要使用os.walk()方法遍歷每一個文件; 只需使用codecs.open()打開相應的文件,(記得close)

R語言圖形介面的shiny軟體的方法

R和web的相關軟體包有rApache, Rhttpd, Rack, Rook。這些軟體包不僅需要開發者熟悉R,而且熟悉網頁程式語言(html,CSS,JS)。shiny是R語言的web介面軟體包,可在R程式設計環境下執行。shiny包集成了bootstrap、jquery

利用R語言分析挖掘Titanic資料集(一)

簡介 一個實際的資料探勘專案包括6個階段 1)提出正確的問題 問題本身確定了挖掘的對向與目標 2)資料採集 利用檔案的i/o函式,JDBC/ODBC,網路爬蟲技術從不同的系統,例如檔案,資料庫或internet採集資料,稱為原始資料。由於原始資

R語言-解決問題:程輯‘xxx’是用R版本3.3.4 來建造的

用R的時候會碰到這種情形: warning :程輯包‘xxx’是用R版本3.3.4 來建造的  儘管R這樣提示,但是不影響這個包的使用。因此是可以繼續用的,只是它會有這樣的提示而已。 出現這種警告的原因是自己電腦上的R版本不是最新的了,需要更新。 如果解除安裝掉舊版本再

利用R語言分析挖掘Titanic資料集(二)

6.視別與視覺化技術 1)執行資料的探索與視覺化技術 >barplot(table(train.data$Survived),main="passenger survival",names = c("perished","survived"))

R語言-文字檔案讀寫 txt / csv / xlsx

read.table(file,sep,hesder) #file 檔案路徑 #sep 分隔符 #header 第一行是不是列名(如果第一行是列名匯入的時候填TRUE;預設值是FALSE,即把第一行算作資料) 準備工作 為方便後面使用的相對路徑,我們先使

R語言文字(字串)處理與正則表示式

處理文字是每一種計算機語言都應該具備的功能,但不是每一種語言都側重於處理文字。R語言是統計的語言,處理文字不是它的強項,perl語言這方面的功能比R不知要強多少倍。幸運的是R語言的可擴充套件能力很強,DNA/RNA/AA等生物序列現在已經可以使用R來處理。nchar字元的個數

三、R語言視覺化--ggplot2和REmap繪製地圖

繪製地圖1.ggplot2提供了一些工具,讓使用maps包繪製的地圖與其他ggplot2圖形的結合變得十分方便。關於中國地圖的繪製可以參考:http://cos.name/2009/07/drawing-china-map-using-r/國家maps地圖資料名法國義大利紐西蘭美國(郡)美國(州)美國(邊界)

R語言文字挖掘入門篇(各軟體詳解)-謝佳標-專題視訊課程

R語言與文字挖掘入門篇(各軟體包詳解)—2926人已學習 課程介紹        本課程主要是利用R語言工具實現文字挖掘。主要內容包括:1、介紹文字挖掘的基本原理;2、文字挖掘相關包的安裝講解;3、tm包和Rwordseg包的詳解。課程收益    學習完本課程,學員能掌握利用

Mac版R語言(六)文字挖掘(使用者庫的匯入、批量匯入搜狗庫)

R語言問題討論交流,歡迎關注我的新浪微博:Jenny愛學習文字挖掘應用的部落格將分4個部分分別討論完成,本篇將完成part 1的詳細project:使用者字典批量安裝,自定義分詞詞庫,自建分詞packages的安裝jiebaR分詞的使用詞雲的繪製(wordcloud2詳細使用

python資料探勘實戰筆記——文字挖掘(4):繪製

概念: 詞雲:詞雲是指對文字中詞頻較高的分詞,給予視覺上的突出,形成“關鍵詞渲染”,從而過濾掉大量的文字資訊,使瀏覽者一眼掃過就可以領略文字的主旨。 需要用到的包:wordcloud、matplotlib wordcloud包下載地址:http://www.l

R語言進行統計分析

R語言進行詞雲統計分析 本文章從爬蟲、詞頻統計、視覺化三個方面講述了R語言的具體應用,歡迎大家共同談論學習 1、使用 rvest 進行資料的爬取 #如果沒有,先安裝rvest包 install.packages("rvest") library(rvest) url <- "http://www.

python與自然語言處理(五):中文文字

之前一直想要做一個文字的視覺化:詞雲,然後在網上搜到的一些製作詞雲的工具,有些是線上的就沒有使用,今天偶然看到python提供的wordcloud庫,可以方便製作詞雲,中英文皆可,趕緊試試,做個筆記,