У меня есть набор данных с различными категориями. Скажем, A, B, C и D.Построение двух категорий в скрипте ggplot2 R
Вот как набор данных выглядит как
V1 V2 V3
1 NA 1 0.1
2 2 2 0.2
3 3 NA 0.1
4 4 4 0.3
5 NA NA 0.4
6 NA NA 0.8
7 7 7 0.2
8 NA 8 0.1
9 9 NA 0.6
10 NA NA 0.1
Строки:
V1 столбец не является NA в категории A
Колонка V2 не находится в категории B
(колонка V1 не является NA OR V2 колонка не является NA) находится в рубрике C
Все линии в этом dataframe находятся в категории D
В случае приведенного выше примера: Есть линии, которые попадают в А и С, в то же время (например, строка 3). Строка 1 будет в категориях B и C. Поэтому число категорий C может быть меньше числа A + B. Все 10 линий находятся в категории D.
Я хочу использовать ggplot2 для построения графика скрипки категорий A, B, C и D вместе в соответствии со значениями в V3. (Это A B C D по оси X и V3 по оси Y)
Есть ли у кого-нибудь подсказка? Я попытался, но ggplot2, похоже, не может иметь дело с перекрывающимися категориями. Если данные имеют другой столбец, указанные категории, он будет работать нормально:
V1 V2 V3 Group
1 NA 1 0.1 B
2 2 2 0.2 C
3 3 NA 0.1 A
4 4 4 0.3 C
5 NA NA 0.4 D
6 NA NA 0.8 D
7 7 7 0.2 C
8 NA 8 0.1 B
9 9 NA 0.6 A
10 NA NA 0.1 D
Там будет 4 скрипки, но в каждой скрипке есть только запись только в этой категории. Наложенные не будут приняты во внимание.
Есть ли способ построить категории перекрытия в ggplot2? Или есть способ отображать разные категории из разных фреймов данных в ОДИН скрипичный сюжет? Или вы предлагаете построить 4 подмножества исходного набора данных и объединить четыре скрипичных участка вместе?
Большое спасибо!
Это скорее относится к [datascience.se]. – phk
Проведите данные через процессор, такой как 'awk', который добавляет столбец категории. Видимо, вы можете построить результат. Что-то вроде 'awk -f awkscript datafile | ggplot -' может работать – roaima
Да, я могу добавить столбец группы. Но проблема в том, что категория C может пересекаться с A/B. Я не могу найти способ отображать элементы в категории A, а также в категории C, используя график скрипки ggplot2. –