欠損値のある単純なデータ フレームを次に示します。
M = data.frame( Name = c('name', 'name'), Col1 = c(NA, 1) , Col2 = c(1, 1))
# Name Col1 Col2
# 1 name NA 1
# 2 name 1 1
メソッドを使用してグループ(「名前」)ごとに変数aggregate
を使用する場合:sum
formula
aggregate(. ~ Name, M, FUN = sum, na.rm = TRUE)
結果は次のとおりです。
# RowName Col1 Col2
# name 1 1
したがって、 がある最初の行全体NA
が無視されます。ただし、「non- formula
」仕様を使用する場合:
aggregate(M[, 2:3], by = list(M$Name), FUN = sum, na.rm = TRUE)
結果は次のとおりです。
# Group.1 Col1 Col2
# name 1 2
ここでは、(1,1) エントリのみが無視されます。
これら 2 つの呼び出しは同等であると考えていたため、コードの 1 つで大きなデバッグの頭痛の種になりました。formula
エントリー方法が異なる理由はありますか?
ありがとう。