R で何か "map"py を実行したいときはいつでも、通常はapply
ファミリ内の関数を使用しようとします。
しかし、私はそれらの違いを完全には理解していませんでしsapply
たlapply
.私が欲しいものを手に入れるまで、それらすべてを調べてください。
誰かがいつどちらを使用するかを説明できますか?
私の現在の(おそらく間違っている/不完全な)理解は...
sapply(vec, f)
: 入力はベクトルです。output は vector/matrix であり、 elementi
はであり、複数要素の出力がある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
いますが、出力をきれいに印刷する代わりに、集約はすべてをデータフレームに貼り付けます。
副次的な質問: 私はまだプライヤーやリシェイプを学んでいません。これらすべてを完全に置き換えますかplyr
?reshape