R で tapply() が何をするのかは理解しています。しかし、ドキュメントからこの説明を解析することはできません。
「不規則な」配列に関数を適用する 説明: 不規則配列の各セル、つまり各 (空でない)値のグループ。 特定の要因のレベル。 使用法: tapply(X, INDEX, FUN = NULL, ..., 簡略化 = TRUE)
tapply について考えるとき、SQL の group by を思い浮かべます。X の値を INDEX の並列因子レベルでグループ化し、それらのグループに FUN を適用します。tapply の説明を 100 回読みましたが、そこに書かれている内容が、私が理解している tapply とどのように対応しているかがまだわかりません。誰か、これを解析するのを手伝ってくれませんか?
ベストアンサー1
@joran の素晴らしい回答のおかげで理解できました (なので、彼の回答に投票してください。長すぎてコメントに追加できなかったら追加したのですが)。ただし、これは一部の人にとっては役立つかもしれません:
かなり多くの言語では、2 次元配列があります。言語によっては、これらの配列の次元が固定されている (つまり、各行の列数が同じ) か、行ごとに異なる項目数を許可している言語もあります。そのため、次のコードの代わりに、
A: 1 2 3
B: 4 5 6
C: 7 8 9
次のようなものが得られるかもしれません
A: 1 3
B: 4 5 6
C: 8
これは、右側が不揃いに見えることから、不揃い配列と呼ばれます。典型的な R スタイルでは、これを 2 つのベクトルとして表すことができます。
values<-c(1,3,4,5,6,8)
names<-c("A", "A", "B", "B", "B", "C")
したがって、tapply
これら 2 つのベクトルを最初のパラメーターとして使用すると、不規則な配列の各「行」にこの関数を適用できるようになります。