10
グループ化関数(tapply、by、aggregate)および* applyファミリー
Rで何か「マップ」pyを実行したいときはいつでも、通常はapplyファミリーの関数を使用しようとします。 しかし、私はそれらの違いを完全には理解していません-どのように{ sapply、lapplyなど}出力がどのように見えるか、または入力が可能であっても、何の入力/グループ化された入力に関数を適用する-多くの場合、私はので、私が欲しいものを手に入れるまでそれらすべてを通り抜けてください。 誰かがいつどのように使用するか説明できますか? 私の現在の(おそらく正しくない/不完全な)理解は... sapply(vec, f):入力はベクトルです。出力はベクトル/行列で、要素iはf(vec[i])でfあり、複数要素の出力がある場合に行列を提供します lapply(vec, f): と同じ sapplyですが、出力はリストですか? apply(matrix, 1/2, f):入力は行列です。出力はベクトルで、要素はiはf(行列の行/列i)です。 tapply(vector, grouping, f):出力は行列/配列であり、行列/配列の要素はベクトルのfグループ化gでの値であり、g、行/列名にプッシュされます by(dataframe, grouping, f):gグループ化しましょう。fグループ/データフレームの各列に適用されます。f各列のグループと値をきれいに出力します。 aggregate(matrix, grouping, f):に似てbyいますが、出力をきれいに出力する代わりに、aggregateはすべてをデータフレームに貼り付けます。 サイド質問:私はまだplyrまたはリシェイプを学んでいない-でしょうplyrかreshape、完全にこれらのすべてを置き換えますか?