首页 > 其他分享 >R语言对git安卓包分类统计、聚类、复杂网络可视化分析

R语言对git安卓包分类统计、聚类、复杂网络可视化分析

时间:2022-12-27 00:12:13浏览次数:75  
标签:包名 git package 可视化 聚类 unique data 安卓包

全文链接:http://tecdat.cn/?p=31035

原文出处:拓端数据部落公众号

我们曾经为一位客户进行了短暂的咨询工作,他正在构建一个主要基于安卓包分类的分析应用程序。

数据源是安卓的项目,把同一类功能的安卓代码的头部,每一个文件都有import 包名。把所有import的包名都抓了下来存到了mysql, 这是数据源 , 需要用r分析这些包名。

用r给这些包做统计,同名的包有多少,占百分之多少,做可视化图,打标签。

这个项目的目的是,比如一类功能是发email的app,每一个项目里java文件头部都有引用的包名,通过把所有的包名一分析,发现80%的项目里面都有同一个包,那么就认为这个包的功能就是email , 然后再通过标签关联java文件 。

导入数据

image.png

channel <- odbcConnect("test", uid="root", pwd="123");

 sqlTables(channel);#查看数据中的表

 data<-sqlFetch(channel,"test")# 查看表的内容,存到数据框里

画直方图显示词频重合率

#做出百分比统计直方图

barplot(table(data$package)/sum(table(data$package)))


# 一共多少包

unique(data$package)

 

 


image.png

image.png

删去没有重复的包


norepeat=which(table(data$package)==1)

data=data[-as.numeric(norepeat),]



for(i in names(table(data$package))[index][-1]){
  #找出project名
  data$project[data$package ==i]

变换数据

cordata2=matrix(0,length(unique(data$project)),length(unique(data$package)))
colnames(cordata2)=unique(data$package)
rownames(cordata2)=unique(data$project)

计算出重复率

image.png

画网络图

这个是git上的项目,每一个点是一个项目,不同颜色表示不同语言,每个点之间有线连着,表示每个项目的联系,可能是关注人一样,也可能是作者一样 。当把包名打上标签后,有可能不同包名是一个标签,那么就可以画出这种联系图。

   }
  }
  close(f)
  cat(paste(c("Successfully output to ", getwd(), "/", filename, "/n"), collapse=""))
}

topajek(events, filename="mypajek.net")

对图进行删减,删去连接少的边

newe = censor.edgeweight(e, floor=0.5); newe
V(e)$color = rainbow(max(V(e)$sg),alpha=0.8)[V(e)$sg]
plot(newe,layout=layout.fruchterman.reingold, vertex.size=5,
     vertex.color=V(e)$color, edge.width=1,edge.arrow.size=0.08,

用网络图可视化

所有数据:

1.png

以chat为基地:

以chat为基地.png

以email为基地:

以email为基地.png

Kmeans算法聚类

聚类数为3,将数据聚成3个类别

y$name1=as.numeric(y$name)

可视化聚类结果

image.png

image.png

image.png


QQ截图20220519165840.png

最受欢迎的见解

1.R语言k-Shape算法股票价格时间序列聚类

2.R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图

3.R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

4.r语言鸢尾花iris数据集的层次聚类

5.Python Monte Carlo K-Means聚类实战

6.用R进行网站评论文本挖掘聚类

7.R语言KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化

8.PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯模型和KMEANS聚类用户画像

9.R语言基于Keras的小数据集深度学习图像分类

标签:包名,git,package,可视化,聚类,unique,data,安卓包
From: https://www.cnblogs.com/tecdat/p/17007169.html

相关文章

  • 初学git
    1、创建git账号分布式版本控制管理创建repoeg:test.github.iogitinitgitconfiguser.nameIcy19xgitconfiguser.email1102874857@qq.comgitr......
  • 郭盛华:黑客破坏Okta的GitHub存储库,窃取源代码
    提供身份和访问管理服务的公司Okta周三透露,本月早些时候以未经授权的方式访问了其一些源代码存储库。“对任何客户都没有影响,包括任何HIPAA,FedRAMP或DoD客户,”该公司在一......
  • Git命令
    gitinit//生成一个.git子目录,产生一个仓库gitstatus //查看当前目录下所有文件的状态gitadd. //将该目录下的所有文件提交到暂存区gitadd文件名 //将该目录......
  • 聚类的学习
    聚类定义把数据集分成若干个互不相交的簇(一坨数据集),使簇间相似度尽量的小,簇内相似度尽量的大性能度量外部指标将聚类结果和某个参考模型进行比较与外部模型的比较假设样本......
  • 记一题关于git源码泄露题
    题目来源:NSSCTF——[NCTF2018]全球最大交友网站题目链接:https://www.ctfer.vip/problem/961打开环境:毫无思路,先学习一下Git源码泄露,Git就是一个内容文件寻址文件系统,......
  • git提交忽略文件
    使用.gitignore忽略文件HELP.mdtarget/!.mvn/wrapper/maven-wrapper.jar!**/src/main/**/target/!**/src/test/**/target/###STS###.apt_generated.classpath.......
  • 2021 年 GitHub 最佳开源软件榜单
    作为一家信息技术媒体公司,InfoWorld成立于1978年,目前隶属于IDG。每年。InfoWorld都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”(BOSSI......
  • git 用远程强制覆盖本地分支的方法
     使用场景 有次合并了别的分支代码,但是想合并单个文件,结果试一下全合并了,那么不想要这次合并,需要用远程强制覆盖本地分支的方法。另外合并单个文件用cherry-pick方法......
  • 学 Rust 要几天?「GitHub 热点速览 v.22.51」
    本周的GitHubTrending非常给力,一是解决了Rust的学习问题,提供了一个全面的教学课程;二是提供了多个高性能工具,比如,为PWA而生的atrilabs-engine,部署方便,前后端同学都......
  • 一次 gitlab 升级的思考
    1.动机一个版本的gitlab用着好好的,为什么会想着去升级呢?在一个宁静的下午,我左手github,右手gitlab,代码借鉴得那叫一个得心应手,突然公司的gitlab访问非常的缓慢,并且有时候......