An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120831/abd82e7c/attachment.pl>
test Breslow-Day for svytable??
3 messages · Diana Marcela Martinez Ruiz, John Sorkin, David Winsemius
Suggstion:
You need to send us more information, i.e. the code that genrated daty, or a listing of the daty structure, and a copy of the listing
produced by epi.2by2
John
John David Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)>>> Diana Marcela Martinez Ruiz <dianammr06 at hotmail.com> 8/31/2012 10:20 AM >>>
Hi all,
I want to know how to perform the test Breslow-Day test for homogeneity of
odds ratios (OR) stratified for svytable. This test is obtained with the following code:
epi.2by2 (dat = daty, method = "case.control" conf.level = 0.95,
units = 100, homogeneity = "breslow.day", verbose = TRUE)
where "daty" is the object type table svytable consider it, but when I run the code
does not throw the homogeneity test.
Thanks.
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Confidentiality Statement:
This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
On Aug 31, 2012, at 7:20 AM, Diana Marcela Martinez Ruiz wrote:
Hi all, I want to know how to perform the test Breslow-Day test for homogeneity of odds ratios (OR) stratified for svytable. This test is obtained with the following code: epi.2by2 (dat = daty, method = "case.control" conf.level = 0.95,
missing comma here ...........................^
units = 100, homogeneity = "breslow.day", verbose = TRUE) where "daty" is the object type table svytable consider it, but when I run the code does not throw the homogeneity test.
You are asked in the Posting guide to copy all errors and warnings when asking about unexpected behavior. When I run epi.2y2 on the output of a syvtable object I get no errors, but I do get warnings which I think are due to non-integer entries in the weighted table. I also get from a svytable() usingits first example on the help page an object that is NOT a set of 2 x 2 tables in an array of the structure as expected by epi.2by2(). The fact that epi.2by2() will report numbers with labels for a 2 x 3 table means that its error checking is weak. This is the output of str(dat) from one of the example on epi.2by2's help page:
str(dat)
table [1:2, 1:2, 1:3] 41 13 6 53 66 37 25 83 23 37 ...
- attr(*, "dimnames")=List of 3
..$ Exposure: chr [1:2] "+" "-"
..$ Disease : chr [1:2] "+" "-"
..$ Strata : chr [1:3] "20-29 yrs" "30-39 yrs" "40+ yrs"
Notice that is is a 2 x 2 x n array. (Caveat:: from here on out I am simply reading the help pages and using str() to look at the objects created to get an idea regarding success or failure. I am not an experienced user of either package.) I doubt that what you got from svytable is a 2 x 2 table. As another example you can build a 2 x 2 x n table from the built-in dataset: UCBAdmissions
DF <- as.data.frame(UCBAdmissions)
## Now 'DF' is a data frame with a grid of the factors and the counts
## in variable 'Freq'.
dat2 <- xtabs(Freq ~ Gender + Admit+Dept, DF)
epiR::epi.2by2(dat = dat2, method = "case.control", conf.level = 0.95,
units = 100, homogeneity = "breslow.day", verbose = TRUE)$OR.homog
#-------------
test.statistic df p.value
1 18.82551 5 0.00207139
Using svydesign and svytable I _think_ this is how one would go about constructing a 2 x 2 table:
tbl2<-svydesign( ~ Gender + Admit+Dept, weights=~Freq, data=DF)
summary(dclus1)
(tbl2by2 <- svytable(~ Gender + Admit+Dept, tbl2))
epiR::epi.2by2(dat = tbl, method = "case.control", conf.level = 0.95,
units = 100, homogeneity = "breslow.day", verbose = TRUE)$OR.homog
#-----------------------
test.statistic df p.value
1 18.82551 5 0.00207139
(At least I got internal consistency. I see you copied Thomas Lumley, which is a good idea. I'll be happy to get corrected on any point. I'm adding the maintainer of epiR to the recipients.)
David Winsemius, MD Alameda, CA, USA