X と Y の因子のペアがあるとします。さらに、X には 3 つのレベルがあり、Y には 4 つのレベルがあります。例は次のとおりです。
X = c("red","blue","yellow")
Y = c(1,2,3,4)
これは明らかに 12 の要因の組み合わせであり、組み合わせごとに、おそらくデータ フレームとして、またはスプラインのような補間関数として、いくつかのデータを作成して保存したいとしましょう。ポイントは、データが任意である可能性があるということです。
今、私は要因の組み合わせを使用してデータを検索できるようにしたいと考えています。これが正しい方法であるかどうかはわかりませんが(したがって私の質問です)、これを解決できると思った方法は次のとおりです。
dict <- list()
combinations <- expand.grid(X = c("red","blue","yellow"),Y = c(1,2,3,4))
for (i in 1:dim(combinations)[1]) {
dict[paste(combinations$X[i],combinations$Y[i],sep=":")] <- paste(combinations$X[i],combinations$Y[i],sep=":")
}
結果:
> dict
$`red:1`
[1] "red:1"
$`blue:1`
[1] "blue:1"
$`yellow:1`
[1] "yellow:1"
$`red:2`
[1] "red:2"
$`blue:2`
[1] "blue:2"
$`yellow:2`
[1] "yellow:2"
$`red:3`
[1] "red:3"
$`blue:3`
[1] "blue:3"
$`yellow:3`
[1] "yellow:3"
$`red:4`
[1] "red:4"
$`blue:4`
[1] "blue:4"
$`yellow:4`
[1] "yellow:4"
特定のキーと値の組み合わせを変更したい場合は、比較的簡単に変更できます。
dict["red:4"] <- "insert some cool function here"
> dict["red:4"]
$`red:4`
[1] "insert some cool function here"
したがって、明らかに、テキストを値として使用する場合、これは非常にばかげています。しかし、「値」が実際にオブジェクトまたはデータ フレームである場合は便利になると思います。これについて皆さんはどう思いますか?私が知らないRに既に存在するこの同じタイプの機能を実装する別の簡単な方法はありますか?