# From Table 1, baseline and end of study proteinuria pr0 <- c(10313,500,1688,163,190,NA,2840,1939,913,1700,NA,2400,1995,2000,4325,3300,753,2500,210,873,10705,1900,5700,4500,1510,143,4730,7250,908) prend <- c(10188,NA,NA,132,224,NA,2660,1743,NA,1500,NA,2900,2340,2000,5300,3800,658,4000,98,905,10852,1500,2900,2700,1053,172,4870,4000,389) dur <- c(6,36,12,24,66,60,12,6,22,12,30,36,6,12,21,6,12,24,12,21,36,36,12,63,12,24,6,18,21) n <- c(28,217,8,20,52,235,12,19,54,16,567,40,8,9,20,10,22,9,8,10,22,61,8,18,11,61,25,10,11) tx <- factor(c(rep('DCA',22),rep('NDCA',7))) pct <- 100*(prend-pr0)/pr0 d <- data.frame(tx,n,dur,pr0,prend,pct) attach(d) m <- tapply(prend, tx, mean, na.rm=T) m m0 <- tapply(pr0, tx, mean, na.rm=T) 100*(m-m0)/m0 tapply(pct, tx, mean, na.rm=T) round(pct) (5300-4325)/4325 # 23%, not 18% claimed in paper library(Hmisc) xYplot(prend-pr0 ~ pr0 | tx) xYplot(pct ~ pr0 | tx) xYplot(log(prend/pr0) ~ pr0 | tx) xYplot(log(prend/pr0) ~ dur | tx) xYplot(log(prend/pr0) ~ n | tx) trellis.device(png, file='bakris1.png', color=FALSE, bg='white') with(subset(d, !is.na(pr0+prend)), { print(xYplot(log(prend/pr0) ~ pr0 | tx, groups=cut2(n,g=4), pch=c(1,2,10,15))) Key(.85,.95) } ) dev.off() par(ask=TRUE) i <- 0 method <- 2 for(g in list(function(x)x, function(x)1, log, sqrt, function(x)x^(1/3), function(x)1/x)){ i <- i+1 m <- c('Identity','%','log','Square Root','Cube Root', 'Reciprocal')[i] x <- if(m=='%') pr0 else if(method==1).5*(g(pr0)+g(prend)) else g(pr0) y <- if(m=='%') 100*(prend-pr0)/pr0 else g(prend)-g(pr0) print(xYplot(y ~ x | tx, main=m)) for(trt in levels(tx)) { cat(m, trt) s <- tx==trt cat(round(spearman(x[s],y[s]),2),'\n') } }