R語言 解決安裝ggplot2報錯的問題

如下所示:

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))

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀:

    None Found