我正在处理最高法院的数据集。我正在尝试以一票制的利润来可视化每个术语中所占案件的百分比。我有一些条款,多数票数和少数票数的变量。可视化的最佳选择是一个折线图,其术语为x轴,决策百分比以一票制利润为y轴。
library(tidyverse)
library(dplyr)
scdby %>%
select(majVotes, minVotes, term)
我为投票保证金创建了一个新变量。
scdbv %>%
select(majVotes, minVotes, term) %>%
mutate(margin = majVotes - minVotes)
从那时起,我觉得我已经在阳光下尝试了每种方法,以获取要在图表中使用的ggplot单保证金投票的百分比。这是最新的方法:
scdbv %>%
select(majVotes, minVotes, term) %>%
mutate(margin = majVotes - minVotes) %>%
mutate(margin1 = if_else(margin == "1", "1", "NA")) %>%
mutate(margin1 = as.integer(margin1)) %>%
ggplot(aes(x = term)) +
geom_line(aes(y = count(margin1) / n()))
哪个返回:
no applicable method for 'groups' applied to an object of class "c('integer', 'numeric')"
我敢肯定,如何做到这一点我很想念。
答案 0 :(得分:1)
scdbv %>%
select(majVotes, minVotes, term) %>%
mutate(margin = majVotes - minVotes) %>%
group_by(term) %>%
summarize(percentage=sum(margin==1)/n()) %>%
ggplot(aes(term,percentage)) +
geom_line()
创建margin
之后,我将term
分组,并创建一个data.frame,其中对于每个术语,边距为1的案例所占的百分比为summarize
d。然后,我绘制这些新数据。如上面的评论所述,最好在x
调用中定义y
和ggplot()
,然后geom_line
只能包含颜色和线条粗细。 / p>
例如,我创建了这个假样本:
scdbv<-data.frame(majVotes=c(6,4,5,6,4,5),minVotes=c(5,2,3,3,3,4), term=c(1,1,2,2,3,3))
结果是(有点令人鼓舞):
您可能希望研究theme()
,以使其更具吸引力。