R语言可视化---介绍一些强大的画图和数据处理包及函数(ggplot,melt())

来源:互联网 发布:资金趋势指标公式源码 编辑:程序博客网 时间:2024/05/21 07:06

       最近实习中需要R语言做分析,对于最后的结果需要用如下所示的图进行展示(示例图片在论文中截取)


     

    由于接触R语言不久,刚开始就是各种懵,认为直接用R是画不出这样的图片的,然后问了同学说用R语言的ggplot2扩展包,于是在网上找了一些教程发现这种图是可以画,但是其输入数据的形式跟我已有数据的形式有很大区别,楼主的数据是如下图形式的(只是一个例子说明,非原数据)


楼主的数据中行和列的标题分别是在实验的两个阶段用的不同的model, 其中对应的值是使用其对应行列的model组合后得到的实验结果值。而网上的教程多是标准的数据集合,如一些属性及其对应值。这样的教程推荐http://www.thebigdata.cn/JiShuBoKe/14326.html点击打开链接。搜索多个教程没有找到针对我的这种数据的解决方案,只好做了一件很愚蠢的事,将我的数据铺开再合并成所需的数据,倒是也画出了想要的结果,然而却十分麻烦,随后又找了一位熟悉R的同学咨询,人家一句代码就解决了我一大堆展开合并的工作,就是用的melt函数,代码如下


plotData <- read.csv(file="~/Desktop/A2fscore.csv")head(plotData)class(plotData)library(reshape2)library(ggplot2)plotData <- melt(plotData,id.vars = 1)p <- ggplot(data=plotData,aes(x=variable,y = value,fill=X))+geom_bar(stat="identity",position='dodge')+ggtitle("Fscores for A2Benchmark")+mycolour_3p
着重介绍一下这里的melt()函数,函数在reshape2包中。我们这里需要melt的是数据框,在R的帮助文档中查找的解释是

Melt a data frame into form suitable for easy casting  将数据框融(拆解,分解)成适合转换的形式(就是我之前做的一堆愚蠢的工作)

感觉Help语言中帮助文档说的还是挺抽象的。根据我在网上查找的资料可以简单地理解为根据待melt数据的各维度名称进行排列组合将对应的值线性化,如一个2*2的矩阵,经过melt之后效果如下


对于dataframe的melt()稍微复杂一些

其中id.vars参数原dataframe中哪个变量将作为标识符,每个标识符变量占一列,与之对应的参数是measured.vars ,不指定的情况下,除了被指定为id.vars之外的都是变量都是观测值,观测变量的名称和值分别占一列,表示为结果中的variable和value变量。

        经过melt的数据即可以调用ggplot进行画图,其中用于将不同类别分开的函数是position =’dodge‘

        总体还是觉得使用数据框的melt有点绕,后来思考一下对于我的数据可以直接利用as.matrix()将数据转化为矩阵,然后进行矩阵的melt,这样比较好理解。而我这里按dataframe处理其实是因为我写数据的时候出了点小问题,将数据写入csv时,添加了列名,导致读进来的数据,列名也成为measured 的一部分,弄巧成拙,反而用数据框处理比较便利。

      差不多整理到这里,写下来比较不容易忘,希望也对大家有点帮助~

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ios12玩游戏闪退怎么办 没网steam要登录怎么办 电脑有gta还需要安装怎么办 孤岛惊魂5卡顿怎么办 酷匠密码忘记了怎么办 战地1有时候卡死怎么办 战地一fps太低怎么办 Dnf与系统不兼容怎么办 使命召唤7显示w怎么办 战地3王者太卡怎么办 合金装备5消音器没了怎么办 红警基地没了怎么办 玩战地1帧数太低怎么办 战地1点游戏不开怎么办 ios耳机孔坏了怎么办? 吃泻药都不排便怎么办 上司离职了我该怎么办 我上司要辞职我怎么办 一方坚决不同意离婚我该怎么办 模拟农场车翻了怎么办 手机退出键坏了怎么办 dnf邮件发错了怎么办 手机提示sd卡已损坏怎么办 解压包文件数据损坏该怎么办 电脑被压缩后电脑打不开怎么办 眼睛里进了飞虫怎么办 虫子飞到眼睛里怎么办 云电脑pc版双鼠标怎么办 电脑蓝屏代码7f怎么办 笔记本电脑蓝屏开不了机怎么办 装xp系统后蓝屏怎么办 一键ghost断电了怎么办 如何防止cpu降频怎么办 win7 64位系统不兼容怎么办 网页无法加载打印机插件怎么办 微信提示安装了插件怎么办 电脑上不了网怎么办 win10 win10电脑突然没网了怎么办 笔记本玩战争前线发热严重怎么办 玩战争前线总是闪退怎么办 uu加速器卡在29怎么办