簡體   English   中英

從修正的檢驗中返回p值和相關系數

[英]Returning p value and correlation coefficient from modified cor.test

我正在嘗試使用我在stackoverflow上另一個方便線程上找到的以下代碼來運行cor.test的修改版本:

cor_withN <- function(...) {
  res <- try(cor.test(...)$estimate, silent=TRUE)
  ifelse(class(res)=="try-error", NA, res)
}

我將此與running()命令一起使用,以執行一堆包含某些NA的移動窗口關聯。 我想至少返回相關系數和p值(但如果我也能獲得測試統計量和df,那將是很棒的)。

我試圖刪除$ estimate部分,希望它能返回我上面提到的所有內容,但是我得到了一個非常丑陋,不完整的輸出。

代碼(沒有running()命令):

cor_withN2 <- function(...) { 
    res <- try(cor.test(...), silent=TRUE) 
    ifelse(class(res)=="try-error", NA, res) 
}
cor_withN2(x, y)
[[1]]
   t 
1.948752 

對於如何修改此方法以返回我正在尋找的所有統計信息的任何建議,或者獲得此結果的另一種方法,我將不勝感激。

謝謝!

歡迎來到SO!

我認為您的問題是ifelse()設計用於條件表達式和替代值的向量,而后者會自動且不透明地循環/截斷以與條件的長度一致(在您的情況下,可能縮短為一個,以便僅返回t值)。

考慮按照以下方式改寫函數中的最后一條語句:

if (class(res)=="try-error") NA else unclass(res)[c("estimate","p.value")]

...(或嘗試提供示例數據隨附的可執行示例)。

暫無
暫無

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

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