使用Sparklyr,R中的genderizer包创建饼图

时间:2017-08-08 03:19:52

标签: r apache-spark rstudio sparklyr

您好我正在尝试使用genderizer包在R中创建一个饼图。 我在下面引用网站https://www.r-bloggers.com/the-gender-of-big-data/中的代码:

 library(rvest)
 library(stringr)
 library(dplyr)
 library(genderizeR)
 library(ggplot2)
 library(googleVis)
 paste0("http://www.crn.com/slide-shows/data-center/300076704/2015-big-data-
 100-business-analytics.htm/pgno/0/", 1:45) %>%
 c(., paste0("http://www.crn.com/slide-shows/data-center/300076709/2015-big-
data-100-data-management.htm/pgno/0/",1:30)) %>%
c(., paste0("http://www.crn.com/slide-shows/data-center/300076740/2015-big-
data-100-infrastructure-tools-and-services.htm/pgno/0/",1:25)) -> webpages
results=data.frame()
for(x in webpages)
{
 read_html(x) %>% html_nodes("p:nth-child(1)") %>% .[[2]] %>% html_text() -> 
 Company
 read_html(x) %>% html_nodes("p:nth-child(2)") %>% .[[1]] %>% html_text() -> 
 Executive
 results=rbind(results, data.frame(Company, Executive))
 }
 results=data.frame(lapply(results, as.character), stringsAsFactors=FALSE)
 results[74,]=c("Trifacta", "Top Executive: CEO Adam Wilson")
 results %>% 
 mutate(Name=gsub("Top|\bExec\S*|\bCEO\S*|President|Founder|and|Co-
 Founder|\:", "", Executive)) %>%
 mutate(Name=word(str_trim(Name))) -> results
 results %>%
 select(Name) %>%
 findGivenNames() %>%
 filter(probability > 0.9 & count > 15) %>%
 as.data.frame() -> data
 data %>% group_by(gender) %>% summarize(Total=n()) -> dat
 doughnut=gvisPieChart(dat,
 options=list(
 width=450,
 height=450,
 legend="{ position: 'bottom', textStyle: {fontSize: 10}}",
 chartArea="{left:25,top:50}",
 title='TOP 100 BIG DATA COMPANIES 2015
 Gender of CEOs',
 colors="['red','blue']",
 pieHole=0.5),
 chartid="doughnut")
 plot(doughnut)

它抛出一个错误,说没有找到mutate函数,我已正确安装了所有软件包。有人可以在这里指导我。

或者有人可以使用R和Sparklyr分享示例代码来创建饼图。 这是我的第一个任务,我只是想了解这个概念。 TIA

1 个答案:

答案 0 :(得分:1)

如果您使用条形图而不是饼图,请尝试此包:https://github.com/edgararuiz/dbplot