標籤:

挖掘R包關係網

原創 2017-05-06 周世榮 EasyCharts

這篇博文主要講解如何對R包關係網挖掘,其實大家在裝包的時候會注意到一些包需要好幾個依賴包,而這些依賴包又有各自的依賴包,這是一個複雜的關係網。

1、數據準備

library(tidyverse)

cran <- tools::CRAN_package_db()

##除去重名的列

cran <- cran[,-65]

##變為數據表的形式

cran <- tbl_df(cran)

2、R包下載前10

##獲取過去一個月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()

3.1、ggplot2關係網

#繪製關係網路圖

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二級關係網

4、下載量前100關係網

微信公眾號「easycharts」文章地址:

挖掘R包關係網

mp.weixin.qq.com/s?*soQ-fM6apMuAyk*dbo0BNXbxTTiBC0ASQSZZI2pu8tADQKi5zUUtYhOMC2XLKfJTHbcMjNzRTm2zcoGFzjvGkRQfZXwwGSoj4CI*KgfZINYEIWF-t1IR6bqrpcH8yZv-NFvqxvg=

aHR0cDovL3FtLnFxLmNvbS9jZ2ktYmluL3FtL3FyP2s9NU05REd6NnZ2NHNKb2ZEd3dFX3NtZXVPWHdPbkJOWEk= (二維碼自動識別)

EasyCharts團隊出品

帥的人都關注了EasyCharts團隊^..^~

QQ交流群:553270834

微信公眾號:EasyCharts

更多信息敬請查看: easychart.github.io/pos

推薦閱讀:

神馬?excel也能做項目管理?還是智能的!
Excel VBA入門(四)流程式控制制2-循環控制
一個關於PowerQuery(及PowerPivot等工具)和VBA的簡單比較
RFM靜態精細化分析
練習題056答案:九九乘法除法口訣表、十以內加法減法表

TAG:MicrosoftExcel |