Как вы можете построить `geom_point ()` с `facet_wrap ()`, используя номер строки для каждой группы в качестве x?

Есть ли способ построить geom_point() так что он неявно использует номер строки как xв фаске? Какplot(y) но также и для нескольких граней.

Следующее не работает с Error: geom_point requires the following missing aesthetics: x:

df = data.frame(y = rnorm(60), group = rep(c("A", "B", "C"), 20))

ggplot(df, aes(y = y)) + 
  geom_point() + 
  facet_wrap(~group)

Естественно, вы можете сделать это, используя что-то вроде следующего, но это довольно громоздко.

df = df %>%
  group_by(group) %>%
  mutate(row = row_number())

ggplot(df, aes(x = row, y = y)) +
  geom_point() + 
  facet_wrap(~group)

1 ответ

Решение

Вы можете попробовать это:

ggplot(df, aes(x=seq(y),y = y))+geom_point() + facet_wrap(~group)

Таким образом, вы можете избежать создания индексной переменной, как вы упомянули!!!

Другие вопросы по тегам