R tapplyの説明を説明する 質問する

R tapplyの説明を説明する 質問する

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 つのベクトルを最初のパラメーターとして使用すると、不規則な配列の各「行」にこの関数を適用できるようになります。

おすすめ記事