数据如下:
df<-read.table(text=" A1 A2 A3 M1 M2 M3
F M F A B A
M M F A B A
F M F A B A
F M F C B A
F M F C B A
M M F C C B
F M F C C B
M F F C C B
F F F D C B
M F F D C B
F F F D A B
F F F D A C
F F F D A C
M F F D A C
F M M B A D
F M M B A D
F M M B D D
M M M B D D
F M M B D D ", h=T)我想要A1和M1,A2和M2,A3和M3。到目前为止,我已经尝试过:
library(purrr)
library(ggplot2)
map2(names(df)[4:6], names(df)[1:3], ~
ggplot(df, aes(x = !!rlang::sym(.x), y = !!rlang::sym(.y))) +
geom_bar())但是,我得到以下错误:
错误: stat_count()不能与y美学一起使用。
我努力改正错误。有什么帮助吗?
我想为每一个情节准备这个:
ggplot(df, aes(x = A1, fill = M1)) +
geom_bar(position = position_dodge())发布于 2019-11-03 00:33:44
结合工作示例和尝试的内容,您是否希望:
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 in aes,只需要fill。
另外,您可以使用aes_string而不是rlang::sym。
最后,根据您的工作示例添加了position_dodge。如果这是你想要的,请告诉我。
https://stackoverflow.com/questions/58676035
复制相似问题