饼图3选项

时间:2018-01-31 06:27:02

标签: r pie-chart

我现在和R完全迷失了。过去一周我一直想把它教给自己,但我已经陷入两天的饼图问题,我似乎无法弄明白。

我有一个包含多个列的表。其中两个我想创建一个饼图。 第一个被称为“Rabatt”,第二个被称为“Gewinnspiel”,现在它们可以bei 0表示False,1表示True,但两列中的两行都不能为True。所以组合可以是00 10或01.现在我想要一个饼图,显示有多少是00,10或01的百分比。 但是,如何告诉R只显示两行中的百分比,当它们包含值1时(因为当它们包含值0时它们是假的并且无关紧要,直到它们都为假),添加这两个然后还显示百分比两者都是0的情况?

我希望我的解释在某种程度上是可以理解的。

这是数据的一部分(总共超过100行)。

Rabatt  Gewinnspiel
0       0
0       0
0       0
1       0
1       0
1       0
0       0
1       0
1       0
1       0
1       0
1       0
1       0
1       0
0       1
0       1
1       0
1       0
0       0

3 个答案:

答案 0 :(得分:1)

以下是如何使用包dplyrtable函数

完成的示例

您的数据

  df = read.table(header = T, stringsAsFactors = F,  text  = "Rabatt  Gewinnspiel
0       0
0       0
0       0
1       0
1       0
1       0
0       0
1       0
1       0
1       0
1       0
1       0
1       0
1       0
0       1
0       1
1       0
1       0
0       0")

通过加入Rabatt和Gewinnspiel来创建名为ny_var的新变量

df <- df %>% mutate(ny_var = paste(Rabatt, Gewinnspiel, sep = ""))

您将新变量绘制为饼图

pie(table(df$ny_var))

您可以查看汇总数据

table(df$ny_var)

答案 1 :(得分:1)

如果您不想使用其他软件包执行此任务,并且在标签中也包含%-numbers,请尝试此操作(df是您的数据框):

df <- read.table(text = "Rabatt  Gewinnspiel
0       0
                 0       0
                 0       0
                 1       0
                 1       0
                 1       0
                 0       0
                 1       0
                 1       0
                 1       0
                 1       0
                 1       0
                 1       0
                 1       0
                 0       1
                 0       1
                 1       0
                 1       0
                 0       0", header = TRUE)

pie_tbl <- table(with(df, paste0(Rabatt, Gewinnspiel)))
pie(x = pie_tbl, labels = paste0(names(pie_tbl), ": ", round(pie_tbl/sum(pie_tbl)*100), "%"))

答案 2 :(得分:0)

这是一种方式:

{{1}}

enter image description here