Ggplot на основе значений подмножества - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу создать ggplot, который выбирает значения ниже 2 для df $ Length - df $ P. Я знаю, что могу создать подмножество, но это не то, что я хочу сделать. Я хочу сделать это в этом стиле (см. Код ниже), но я получаю ошибку: не могу найти функцию "%>% <- (я не хочу создавать новое подмножество, но обрабатывать его" на лету ") </p>

library(ggplot2)
library(magrittr)
library(dplyr)

df %>% filter((df$Length - df$P) <= 2) %>%
df$ap<-(df$Length - df$P)
grouped <- df %>% group_by(ap, Style) %>% summarise(BD2_mean=mean(BD2), BD2_top=quantile(BD2, 0.95), BD2_bottom=quantile(BD2, 0.05))

grouped %>% ggplot(aes(x=ap)) +
  geom_ribbon(aes(ymin=BD2_bottom, ymax=BD2_top), alpha=0.5, color='#00FF7F', fill='#90EE90', size=1.05) +
  geom_line(aes(y=BD2_mean), size=1.1, color='#3CB371', linetype='longdash', alpha=0.7) +
  ggtitle('Grouped Line Plot') +
  xlab('AP') + ylab('BD2') + facet_grid(Style~.)

1 Ответ

1 голос
/ 01 ноября 2019

Если вы хотите отфильтровать и создать новый столбец, попробуйте

df %>% filter((Length - P) <= 2) %>% mutate(ap = Length - P)

Если вы также хотите переназначить результат на df, вы можете использовать канал назначения %<>%, как

df %<>% filter((Length - P) <= 2) %>% mutate(ap = Length - P)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...