經過一番調查(1, 2, 3),似乎有一些關于在函式中使用公式導致范圍問題的帖子,如果我理解正確的話。有些人建議使用環境、賦值或<<-來解決這個問題,但我一直對如何使用它們感到困惑(并且困惑為什么首先會有這個問題)。
讓我們試試這個玩具代碼:
library(survival)
library(survminer)
set.seed(1)
give_p_val <- function() {>
df <- data. frame('OS' = ovarian[, 'futime']。 'Survival_event' =卵巢[。 'fustat'])
子組< -樣本(nrow(df)/span>。 nrow(df)/2)
df$Class <- 'A'
df$Class[subgroup] <- 'B'/span>
fit2 < - survfit(Surv(OS, Survival_event) ~ Class, data=df)
return(surv_pvalue(fit2))
}
give_p_val( )
它沒有作業,除非你直接運行它,這暗示了一個范圍問題。
這段代碼可以用來回傳一個擬合物件:
這段代碼可以用來回傳一個擬合物件。
survfit(Surv(futime, fustat) ~rx, data=ovarian)
那么,如果我們在范圍內復制一個資料幀,為什么該函式會中斷呢?
testit< -function(){
卵巢2 <- 卵巢
fit2 < - survfit(Surv(futime, fustat) ~rx, data=ovarian2)
return(surv_pvalue(fit2))
}
testit()
最終,我如何在一個函式中生成一個資料框架,以便由正在使用的公式正確處理? 謝謝!
uj5u.com熱心網友回復:
這是一個已知的問題在survminer包和surv_pvalue與survfit物件的互動。如果您將survfit改為survminer包的版本,surv_fit,您的函式將正常作業。
give_p_val < - function() {
df <- data. frame('OS' =卵巢[。 'futime']。 'Survival_event' =卵巢[。 'fustat'])
子組< -樣本(nrow(df)/span>。 nrow(df)/2)
df$Class <- 'A'
df$Class[subgroup] <- 'B'/span>
fit2 < - surv_fit(Surv(OS。 Survival_event) ~ Class, data=df)
surv_pvalue(fit2, data = df)
}
give_p_val( )
# variable pval method pval.txt
# 1類0.2615363 Log-rank p = 0.26
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/309264.html
標籤:
上一篇:在JS中輸出鏈接的問題
