我在解决 R 中的作业时遇到了麻烦。
基本上,我得到一个字符串,这里是生日日期,并且应该以某种方式将其转换为数值作为rgb
函数的输入。在我太神秘之前,请阅读作业说明:
给定一个带有生日的字符串,如下所示,创建一个显示该人生日颜色的图。
生日颜色是通过使用日期、月份和年份作为 rgb() 函数的索引来定义的。月份中的日期表示颜色中我们想要多少红色,月份表示绿色,年份表示蓝色。您可以假设所有月份都有 31 天。关于年份,假设每个要使用生日颜色功能的人都出生在 1915 年或之后。下面你可以看到我的生日颜色是蓝绿色,我儿子的生日颜色是绿蓝色。
提示:第一步应该是将字符串拆分为单独的元素,并确保随后将这些元素转换为数值。
birthday <- "02-10-1972"
calcBirthdayColor <- function(bd) {
## your code here
}
plot(0,type="n",
axes=FALSE,ylab="",xlab="",
xlim=c(-10,10),ylim=c(-10,10),asp=1)
## My birthday color:
rect(-10,-6,10,6,col=calcBirthdayColor(birthday))
## And the color of my son:
rect(-6,-10,6,10,col=calcBirthdayColor("10-09-2013"))
此外,还提出了以下问题:
http://i.imgur.com/wrkfhMQ.png
我最初的猜测是,在转换为数字之后,可以将像 '01-10-1972' 这样的出生日期字符串插入到 中rgb
,但这实际上不起作用,因为它maxColorValue
是错误的,例如 rgb(1,10,1972)
即使我将其更改为大于 1972 年(例如 1、10、1972、2015 年),我也没有得到给定矩形的近似颜色。
如何使出生日期格式适合rgb
函数?
我很感激你可能有任何提示。