У меня есть фрейм данных в R, который выглядит так:
Value group Dataset
0.00 1 A
0.00 1 A
0.71 1 A
0.00 1 A
185.87 1 A
0.00 1 A
41.24 1 A
177.04 1 A
0.00 1 A
31.23 1 A
1.46 2 A
0.00 2 A
268.37 2 A
0.00 2 A
5.36 2 A
0.00 2 A
0.00 2 A
37.02 2 A
0.00 3 A
147.50 3 A
1.62 3 A
24.26 3 A
152.02 3 A
165.31 3 A
519.40 3 A
546.49 3 A
122.80 3 A
528.28 3 A
228.77 3 A
0.00 1 B
41.24 1 B
177.04 1 B
0.00 1 B
31.23 1 B
371.58 2 B
1103.61 2 B
65.28 2 B
51.02 2 B
78.92 2 B
296.93 2 B
152.02 3 B
165.31 3 B
519.40 3 B
546.49 3 B
122.80 3 B
528.28 3 B
228.77 3 B
Я хочу создать график скрипки для набора данных A и B с тремя графиками скрипки для A и 3 для B на одном графике. Это мой код на R, но я не могу получить баллы за отдельные сюжеты скрипки. Они находятся в середине набора данных A и B.
ggplot(combined_data, aes(x = factor(Dataset), y = Value, fill = group)) +
geom_violin(alpha = 0.4) +
geom_jitter(position = position_jitter(seed = 1, width = 0.2))





Думаю, я бы использовал здесь «хитрые грани»
library(ggplot2)
ggplot(combined_data, aes(x = factor(group), y = Value, fill = factor(group))) +
geom_violin(alpha = 0.4, scale = 'width') +
geom_point(position = position_jitter(seed = 1, width = 0.2),
show.legend = FALSE) +
facet_grid(~Dataset, switch = 'x') +
scale_x_discrete('Group within dataset', expand = c(0.6, 0)) +
scale_fill_brewer(palette = 'Set1', guide = 'none') +
theme_minimal(base_size = 16) +
theme(strip.placement = 'outside',
strip.background.x = element_blank(),
panel.spacing.x = unit(0, 'mm'))
Возможно, попробуйте
ggplot(combined_data, aes(x = factor(Dataset), y = Value, fill = factor(group), group = interaction(group, Dataset))) + ....