簡體   English   中英

在計算中位數時如何將na.rm = TRUE傳遞給sapply?

[英]How to pass na.rm=TRUE to sapply when calculating median?

我創建了一個包含3個變量的數據幀“殺手”。 雖然整個存在NA值,但數據是數字的。

我的目標是計算3個變量中每個變量的均值。

sapply(killers, function(x) median)

返回:

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

我知道na.rm參數是一種忽略NA值的方法。 由於在R返回的內容中存在na.rm = FALSE ,因此可以假設有一種方法可以在上面的代碼行中將其設置為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? 忽略NA的功能

當然,我可以計算用於創建殺手的每個向量的均值,但是如果我問的是可能的那么那就更好了。

做就是了:

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

另一種選擇(根據您的代碼)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM