Rで課題を解決するのに苦労しています.
基本的に、文字列 (ここでは誕生日) が与えられ、これを関数の入力として何らかの方法で数値に変換する必要がありrgb
ます。私が不可解になりすぎる前に、課題の指示を読んでください。
以下に示すような誕生日の文字列が与えられた場合、その人の誕生日の色を示すプロットを作成します。
誕生日の色は、rgb() 関数のインデックスとして日、月、および年を使用して定義されます。日は色の赤、月は緑、年は青を表します。すべての月が 31 日あると仮定できます。年に関しては、誕生日カラー機能を使用するすべての人が1915年以降に生まれたと仮定します。下に示すように、私の誕生日の色は青みがかった緑で、息子の誕生日の色は緑がかった青です。
ヒント: 最初のステップの 1 つは、文字列を個別の要素に分割し、これらが後で数値に変換されるようにすることです。
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(1,10,1972) のように が間違っているrgb
ため、これは実際には機能しません。maxColorValue
1972年よりも大きなもの(1,10,1972,2015など)に変更しても、与えられた長方形のおおよその色が得られません。
生年月日形式をrgb
関数に適合させるにはどうすればよいですか?
ヒントがあればよろしくお願いします。