分享

R数据可视化 | PowerBI星球

 PowerBI星球 2021-06-22

自从有了R,限制你的只是你的想象力!


在PowerBI默认的可视化对象中,还有个R视觉对象,点击并不能像其他可视化一样直接使用,不过你若就此放过,可能就与一个强大的工具插肩而过。

下面带你一步步走进R的世界。

R是什么

R语言是目前非常流行、免费且开源的统计分析软件,是统计学家、数据科学家和业务分析师使用最广泛的一种编程语言,并且由一个充满活力和才华的贡献者社区支持,源源不断的提供各种程序包。

R在数据分析、统计建模、数据可视化等方面功能都十分强大,PowerBI中使用的只是它的数据可视化功能,已经足以让我们应接不暇、眼花缭乱。

安装R

Power BI Desktop 并没有安装 R 引擎。 若要在 Power BI Desktop 中运行 R 脚本,必须在本地计算机上单独安装 R。 可以从很多位置免费下载并安装 R,微软官网推荐的下载链接如下,

https://mran./download

根据不同的操作系统选择不同的下载链接,windows系统直接下载第一个即可。

安装后打开PowerBI Desktop,在【文件】>【选项】中做如下设置,

其中R脚本里主目录,设置为你电脑中的R安装路径。

运行R

第一次使用的R的时候会出现这个提示,点击启用即可,

然后出现的界面如下,

  • R 视觉对象图像位于报表画布上

  • R 脚本编辑器位于中央窗格底部边缘处

  • R 脚本编辑器标题栏右边第一个三角形就是R脚本运行按钮。

根据它的提示,把任意的字段拖到可视化窗格的【值】中就可以开始编写脚本。

也可以先用其他可视化对象制作图表,再转化为R可视化,比如先用[city]和[GDP]两个字段生成柱形图,选中该图表,然后点击R,脚本中出现的代码如下:

这里我使用蓝色文字做了简单注释。

然后把以下代码复制到空白编辑器中,

library(ggplot2)
ggplot(dataset,aes(city,GDP))+geom_bar(stat="identity",fill="steelblue")

点击运行,就出现使用R做出的图表,以上步骤的gif图如下,

上面的第一行代码library(ggplot2),是加载ggplot2程序包,这是R可视化最重要的一个包,它可以通过底层组建构造各种匪夷所思的图形,可以说学好这一个包就足够了。

第二行是利用定义好的数据集dataset,设置纵横轴,图表类型为柱形,颜色为蓝色;这里有个印象就好,如果有时间,看一下R语言的入门文章就可以看懂以上的代码,并不会很难。

加载R包

如果 R 脚本发生错误,则不会绘制 R 视觉对象,并且将显示一条错误消息。 如下图所示,

点击查看该错误的详细信息,很多时候是缺少R程序包,R包安装方法有两种(比如需要安装程序包ggplot2),打开安装的R程序,

  • R编辑框中输入:install.packages("ggplot2")

  • 选项卡【程序包】下,“安装程序包”,找到ggplot2,点击确定

然后就自动下载安装了。

体验R的强大可视化

R包中本身也自带有数据集,比如ggplot2自带有数据集diamonds,不需要使用任何PowerBI中的数据,直接把R语句输入到脚本,

library(ggplot2)

library(ggthemes)

ggplot(diamonds,aes(depth,fill=color))+geom_histogram()+theme_economist()+scale_fill_economist()+guides(fill=guide_legend(title=NULL))+scale_x_discrete(limits=c(50,70))

运行脚本,一个很个性的图表就出来了,

如果没有数据集,也可以在R中先构建一个数据集,把以下代码拷入编辑器,

library(ggpubr)
df <- data.frame( sex=factor(rep(c("f", "M"), each=200)), weight=c(rnorm(200, 55), rnorm(200, 58))) #构建数据集df
ggdensity(df, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = c("#00AFBB", "#E7B800"))

运行脚本后,绘制出了一个分布图,

利用R不仅能生成一个单一的图表,甚至可以直接生成一个图表集合的仪表板,比如把以下语句复制到脚本:

library(UpSetR)
movies <- read.csv(system.file("extdata", "movies.csv", package = "UpSetR"), header = TRUE, sep = ";")
upset(movies, main.bar.color = "black", queries = list(list(query = intersects,
    params = list("Drama"), color = "red", active = F), list(query = intersects,
    params = list("Action", "Drama"), active = T), list(query = intersects,
    params = list("Drama", "Comedy", "Action"), color = "orange", active = T)),
    attribute.plots = list(gridrows = 45, plots = list(list(plot = scatter_plot,
        x = "ReleaseDate", y = "AvgRating", queries = T), list(plot = scatter_plot,
        x = "AvgRating", y = "Watches", queries = F)), ncols = 2), query.legend = "bottom")

运行R脚本,结果如下:

是不是很神奇,这就是R的强大之处,自从嵌入R之后,PowerBI可视化的想象力大大扩展。PowerBI中内置的、以及自定义的各种可视化都可以用R绘制出来,PowerBI中没有的各类图表,借助R也可以完成。

如果你不满足于PowerBI可视化的单调设置,想要更个性化的图表,想在数据可视化的道路上走的更远,那么R正适合你;当然学习R并不会太轻松,是需要耗费一定的时间和精力的,但正因为这样,精通以后才更有喜悦感,不是吗?

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多