挖掘R包關係網
這篇博文主要講解如何對R包關係網挖掘,其實大家在裝包的時候會注意到一些包需要好幾個依賴包,而這些依賴包又有各自的依賴包,這是一個複雜的關係網。
1、數據準備
library(tidyverse)
cran <- tools::CRAN_package_db()
##除去重名的列
cran <- cran[,-65]
##變為數據表的形式
cran <- tbl_df(cran)
2、R包下載前10
3.1、ggplot2關係網##獲取過去一個月R包下載前10
library(cranlogs)
rptop10 <- cran_top_downloads(last-month,count = 10)
#繪製條形圖
ggplot(rptop10,aes(x=reorder(package,count),y=count))+
geom_bar(stat = identity,fill=steelblue)+
labs(x=,y=下載量,title=過去一個月R包下載top10,
subtitle=R.version.string)+
coord_flip()
#繪製關係網路圖
library(networkD3)
library(stringr)
netop10=cran[cran$Package %in% rptop10$package,]
exfun = function(x){
x=as.character(x)
pimport=unlist(str_extract_all(str_trim(unlist(str_split(
cran$Imports[cran$Package==x],,))),
^w{1,}))
psuggest=unlist(str_extract_all(str_trim(unlist(str_split(
cran$Suggests[cran$Package==x],,))),
^w{1,}))
return(c(pimport,psuggest))
}
#ggplot2依賴包關係網
test = exfun(ggplot2)
NetworkData <- data.frame(Source=ggplot2, Target=test)
simpleNetwork(NetworkData, fontSize = 10,linkDistance = 120,
nodeColour=red, opacity = 1,zoom = T)
3.2、ggplot2二級關係網
微信公眾號「easycharts」文章地址:挖掘R包關係網
http://mp.weixin.qq.com/s?timestamp=1494250672&src=3&ver=1&signature=Oqk61vzI54Ab1-wSODjV9vjxwhLg2NcuP3c*soQ-fM6apMuAyk*dbo0BNXbxTTiBC0ASQSZZI2pu8tADQKi5zUUtYhOMC2XLKfJTHbcMjNzRTm2zcoGFzjvGkRQfZXwwGSoj4CI*KgfZINYEIWF-t1IR6bqrpcH8yZv-NFvqxvg=
aHR0cDovL3FtLnFxLmNvbS9jZ2ktYmluL3FtL3FyP2s9NU05REd6NnZ2NHNKb2ZEd3dFX3NtZXVPWHdPbkJOWEk= (二維碼自動識別)
EasyCharts團隊出品帥的人都關注了EasyCharts團隊^..^~
QQ交流群:553270834
微信公眾號:EasyCharts
更多信息敬請查看: http://easychart.github.io/post/Easycharts/
推薦閱讀:
※神馬?excel也能做項目管理?還是智能的!
※Excel VBA入門(四)流程式控制制2-循環控制
※一個關於PowerQuery(及PowerPivot等工具)和VBA的簡單比較
※RFM靜態精細化分析
※練習題056答案:九九乘法除法口訣表、十以內加法減法表
TAG:MicrosoftExcel |