【发布时间】:2020-11-01 23:17:51
【问题描述】:
我有一个函数,它接受一个数据集,过滤给定元素,并创建一个图。我想取一个向量并使用 map 过滤向量的每个元素并创建一个图。应用map(vector, function) 不起作用-我收到警告
“较长的对象长度不是较短对象长度的倍数”。
假设我有这个基于 babynames 数据集的数据框 names。
names <- babynames%>%
pivot_wider(names_from = sex, values_from = n, values_fill=0) %>%
group_by(year,name) %>%
summarize(Female=sum(F), Male=sum(M)) %>%
mutate(percent = Female/(Male+Female)*100)
and a vector made up of `"Ollie"`, `"Verna"`, and `"Ava"`. I want a graph for each of `Ollie`, `Verna`, and `Ava`.
fun_name <- function(name_1) {
names %>%
filter(name==name_1) %>%
ggplot(aes(x=year, y=percent)) +
geom_line()
}
map(vector, fun_name)
我现在特别遇到的问题是所有图表都合并为一个。
【问题讨论】:
-
请使用
dput发布您的示例数据,因为数据图片令人厌烦且不实用。
标签: r