I w sh для построения «процентной положительности» в следующем наборе данных с использованием ggplot, и мне интересно, могу ли я сделать это без изменения набора данных.
Percentage Positivity = Pos / (Pos + Neg)
Код чтобы сгенерировать набор данных:
library(tidyverse)
set.seed(0)
df <- tibble(Result = c(rep("Pos", 6), rep("Neg",6)),
Group1 = rep(1:6, 2), Group2 = rep(1:3, 4), Value = rnorm(12, 5, 2))
# A tibble: 12 x 4
Result Group1 Group2 Value
<chr> <int> <int> <dbl>
1 Pos 1 1 7.53
2 Pos 2 2 4.35
3 Pos 3 3 7.66
4 Pos 4 1 7.54
5 Pos 5 2 5.83
6 Pos 6 3 1.92
7 Neg 1 1 3.14
8 Neg 2 2 4.41
9 Neg 3 3 4.99
10 Neg 4 1 9.81
11 Neg 5 2 6.53
12 Neg 6 3 3.40
Игнорируя Group2, позитив для Group1 = 1, например, будет 7.53/(7.53 + 3.14)
.
Я в основном пользователь PowerBI, и я новичок в R, поэтому вид кода, который я имею в виду, выглядит примерно так:
plot <- ggplot(data = df) +
geom_col(aes(x = Group1, y = Value[where result = pos]/Value[where result = pos + neg))
Я действительно не хочу рассчитывать процентную положительность путем суммирования Group1 и создания нового вычисляемого столбца, потому что в моем фактическом наборе данных я иметь много переменных и иерархий даты и времени, и необходимо рассчитать процентную положительность путем нарезки набора данных большим количеством способов. Так что я думаю, что мне не нужно было бы создавать новый фрейм данных для каждого способа, которым я хотел бы разделить данные.
Есть ли способ сделать то, что я прошу?
Рад выслушать мнения более опытных пользователей о лучших методах моделирования / визуализации.