16

3つの変数を持つデータフレーム「キラー」を作成しました。NA全体に値が存在しますが、データは数値です。

私の目標は、3つの変数のそれぞれの平均を計算することです。

sapply(killers, function(x) median)

これは次を返します:

$heartattack
function (x, na.rm = FALSE) 
UseMethod("median")
<bytecode: 0x103748108>
<environment: namespace:stats>

私は、na.rm引数が値を無視する手段であることを知っていNAます。na.rm = FALSERによって返されたものに存在するため、上記のコード行内でこれを設定する方法があると推測されますTRUE。私はいくつかのバリエーションを試しました:

sapply(killers, na.rm=TRUE function(x) median)
sapply(killers, function(x) median, na.rm=TRUE)
sapply(killers, function(x) median(na.rm=TRUE))

SOに関するトピックに関する他の同様の投稿(この場合は最終的には役に立ちませんが)のように、私が近くにいるのか、これに入れ子関数が含まれるのかはわかりません。たとえば 、na.rmをtapplyの引数として渡す方法は?sapply関数のNAを無視します

もちろん、キラーを作成するために使用された各ベクトルの平均を計算することもできますが、私が求めていることが可能であれば、それは確かに優れています。

4

1 に答える 1

38

ただ行う:

sapply(killers, median, na.rm = TRUE)

代替案は(コードに基づいて)

sapply(killers, function(x) median(x, na.rm=TRUE)) 
于 2013-01-22T16:33:35.780 に答える