[問題] 如何使matrix中的數值小數位不要進位

作者: Inderal10mg (Propranolol)   2019-06-27 14:51:12
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門
[問題敘述]:
使用package"exact2x2"執行Exact McNemar's test時,因細格中有零,
按照文獻建議各加0.5才執行計算,但是r會將0.5視為0,想請教前輩們如何
讓其維持在0.5的狀態下計算Odds ratio與95% confidence interval,謝謝。
[程式範例]:
# 使用套件
library(exact2x2)
# 輸入計算數值
x=matrix(c(18.5,13.5,0.5,4.5),2,2)
#計算結果
mcnemar.exact(x)
#結果
Exact McNemar test (with central confidence intervals)
data: x
b = 0, c = 14, p-value = 0.0001221
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.0000000 0.3014661
sample estimates:
odds ratio
0
Warning message:
In exact2x2(x = x, alternative = "two.sided", tsmethod = "central", :
'x' has been rounded to integer: Mean relative difference: 0.05405405
[環境敘述]:
R version 3.5.3 (2019-03-11)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
[2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] exact2x2_1.6.3 exactci_1.3-3 ssanv_1.1
loaded via a namespace (and not attached):
[1] compiler_3.5.3
[關鍵字]:
exact2x2, exact mcnemar test
作者: andrew43 (討厭有好心推文後刪文者)   2019-06-27 19:27:00
這個例子,加0.6就可以解決。但你都用exact了需要靠加更正。它會自動round,且你都用exact需要靠加0.5修正嗎?這種修正是傳統上採近似分布才需要的吧?exact方法先了解一下就會明白資料一定只能是整數。
作者: Inderal10mg (Propranolol)   2019-06-28 10:32:00
謝謝,想知道有辦法讓它不要自動round嗎?我用?mcnemar.exact查詢找不到可以調整的地方因為要算odds ratio所以必須要加0.5修正zero count
作者: andrew43 (討厭有好心推文後刪文者)   2019-06-28 11:10:00
你說的odds ratio應該只是0.5/13.5,手算即可。
作者: Inderal10mg (Propranolol)   2019-06-30 19:29:00
感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com