【发布时间】:2020-07-04 03:51:43
【问题描述】:
更新: 我终于弄清楚了如何进行绘图。下面的代码对我有用:
mydf %>%
dplyr::filter(NAME =="" & GENDER =="") %>%
ggplot(aes(YEAR, RANK)) +
geom_point()
现在我正在努力将其转换为一个以姓名和性别为参数的函数。该函数区分大小写,如果缺少性别参数,仍应显示绘图。这是我迄今为止在该功能方面的进展。它显示一个带有两个参数的图,但如果我删除了性别参数,它会显示一个空白图。我需要在我的函数中应用 grep 或 grepl 吗?感谢大家!
name.plot <- function(name="", gender="", ignore.case=TRUE){
mydf %>%
dplyr::filter(NAME == name & GENDER == gender) %>%
ggplot(aes(YEAR, RANK)) +
geom_point()
}
我正在做作业,需要一些帮助。我们得到了一个 babynames 的数据集,并且应该编写一个函数,该函数将采用 姓名和性别,并返回排名与年份的关系图。
目前,我正在弄清楚如何首先显示绘图。我估计 出了如何显示一个名字,但是当我尝试添加性别时,它只是 给我一个空白的情节。有人可以帮我做什么吗 错误的?我尝试了 group by 和 which 函数,但没有运气。
p1 <- mydf %>%
filter(NAME =="Madison", GENDER =="girl") %>%
ggplot(aes(YEAR, RANK)) +
geom_point()
p1
这是我的示例数据集:
【问题讨论】:
-
我想您最好以更加程序化的方式分离您的数据。意思是使用方面和美学进行分组。例如,使用
+ geom_point(data = mydf, aes(YEAR, RANK, color = NAME)) + facet_grid(˜GENDER)(为奇怪的 tilda 符号道歉 - 使用奇怪的键盘 atm) -
不确定它是如何工作的。现在,我只是想显示一个图,稍后我将不得不创建一个函数,它将姓名和性别作为参数并显示一个图。
-
你试过我的代码了吗?将奇怪的 tilda 替换为正常的 tilda 符号,并将其添加到您的 p
-
@Tjebo,我做了,但仍然没有工作:( -
您的数据似乎有些奇怪......约翰、威廉和詹姆斯在 1880 年首次排名女孩名字?