文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

R语言 解决安装ggplot2报错的问题

2024-04-02 19:55

关注

如下所示:


install.packages(‘xxx',repos=‘http://cran.us.r-project.org')

xxx 改为 ggplot2

补充:R包安装时,出现的错误解决合集

如下所示:

1.library(devtools)


#error:Error in get(genname, envir = envir) : object 'testthat_print' not found
#解决
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
install.packages("testthat")

2.install.packages()、BiocManager::install()、devtools::install_github()均安装失败


conda install r-devtools
conda install r-hdf5r
conda install r-sf

补充:R作图之ggplot2包

ggplot2使用的基本框架

下面逐一介绍

1.data

data是我们需要可视化的数据,在学习中,我们经常使用R语言自带的diamonds和flights数据源。在data框的范围我们也可以使用mapping(映射),在data框范围使用的属性在后面镶嵌的图层中为默认属性。example


ggplot(data=mpg,mapping=aes(y=hwy,x=class))+
 geom_point()

这里的geom_point图层默认继承ggplot中的属性。也就是说,我们可以通过ggplot设置默认的属性,后面镶嵌的图层设置自己独有特殊的属性。

2.geom_function

geom_function有很多种来满足我们不同的作图要求,我们有geom_point,geom_bar

geom_boxplot(箱型图)等,geom_function与mapping是一对,有geom_function必有mapping,mapping代表映射,将数据集的类分别映射到y轴和x轴,在mapping中,会默认的stat_count() y轴的值,如果我们不需要count的话,我们可以将stat设置为identity,这样就会得到y本身的值

example


library(tibble)
tri<-tribble(
 ~a,~b,
 "bar_1",20,
 "bar_2",30,
 "bar_3",40
)
#set a to x,set b to y
#stat需要改为identity
ggplot(data=tri)+
 geom_bar(mapping = aes(x=a,y=b),stat = "identity")

mapping=aes(x=,y=,color=,clarity(透明度)=)这些都是mapping的默认属性

注意,R中作图是图层的堆积,如果是选择做条形图的话,color无法给条形图附上颜色,必须用fill给条形图附上颜色

postion

postion是对条形图位置调整,有以上四种方法。

COORDINATE_FUNCTION

这部分是关于坐标的选取和变换,ggplot2默认的是笛卡尔坐标系,我们也可以使用极坐标系,用coord_polar()将笛卡尔坐标系转化为极坐标系


bar<-ggplot(data=diamonds)+
 geom_bar(mapping = aes(x=cut,fill=cut),show.legend = F,width = 1)

#不要标签+极坐标
bar+labs(x=NULL,y=NULL)+coord_polar()

坐标函数

下面是关于如何形成百分比的例子


ggplot(data=diamonds)+
 geom_bar(mapping = aes(x=cut,y=..prop..))

将映射的y轴属性设置为prop(百分比)即可,然后结果显示的每个组别的百分比都是100%,这是怎么回事呢?

分析cut


> unique(diamonds$cut)
[1] Ideal   Premium  Good   Very Good
[5] Fair   
5 Levels: Fair < Good < ... < Ideal

cut是因子,在映射到x轴时,R语言自动将其分为5个组,自然每个组的百分比都为1了。

然后我们只需要把group属性设置为1即可


ggplot(data=diamonds)+
 geom_bar(mapping = aes(x=cut,y=..prop..,group=1))

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯