簡體   English   中英

將R設置為包含缺失數據 - 如何將`table()`的`useNA =“ifany”`選項設置為默認值?

[英]Set R to include missing data – How can is set the `useNA=“ifany”` option for `table()` as default?

在許多情況下,了解丟失的數據至關重要,忽略它們會嚴重影響您的分析。

因此,我想將useNA = "ifany"設置為table()默認值。 理想情況下類似於options(stringsAsFactors = FALSE)

我發現下面有一個丑陋的黑客,但它必須更好,沒有定義一個功能。

https://stat.ethz.ch/pipermail/r-help/2010-January/223871.html

tableNA<-function(x) {
  varname<-deparse(substitute(x))
  assign(varname,x)
  tabNA<-table(get(varname),useNA="always")
  names(attr(tabNA,"dimnames"))<-varname
  return(tabNA)
}

那么你需要定義一個函數1,但你可以重用現有的名稱(並使定義更精簡):

table = function (..., useNA = 'ifany') base::table(..., useNA = useNA)

這將使新功能在舊名稱下可用 - 但僅在您的代碼中,因此它是“安全的”(即它不會更改包對table的使用)。

我們使用...來允許傳遞任意參數,並且我們為useNA所需的'ifany'默認值。 在函數內部,我們只需調用“真實” table函數。 但是為了避免自稱,我們指定它所在的命名空間: base 我們只是將所有的論點都沒有觸及。


1只需查看table的源代碼 - 它不會在設置參數時查詢任何選項,因此無法通過選項確定該參數的設置。

暫無
暫無

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

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