Комбинируя как рабочий пример, так и то, что было опробовано, вы хотели:
library(purrr)
library(ggplot2)
map2(names(df)[1:3], names(df)[4:6], ~
ggplot(df, aes_string(x = .x, fill = .y)) +
geom_bar(position = position_dodge()))
Похоже, вы хотите fill
для столбцов 4-6 (M1, M2 и M3) - это то, чтоверный? Вам не нужно было y
в aes
, просто fill
.
Кроме того, вы можете использовать aes_string
вместо rlang::sym
.
Наконец, добавлено position_dodge
на основе вашего рабочего примера. Дайте мне знать, если это то, что вы имели в виду.