On Nov 14, 2014, at 3:18 PM, David Winsemius wrote:

> 
> On Nov 14, 2014, at 12:15 PM, ivan wrote:
> 
>> Hi,
>> 
>> I am trying to compute bootstrap confidence intervals for weighted means of
>> paired differences with the boot package. Unfortunately, the weighted mean
>> estimate lies out of the confidence bounds and hence I am obviously doing
>> something wrong.
>> 
>> Appreciate any help. Thanks. Here is a reproducible example:
>> 
>> 
>> library(boot)
>> set.seed(1111)
>> x <- rnorm(50)
>> y <- rnorm(50)
>> weights <- runif(50)
>> weights <- weights / sum(weights)
>> dataset <- cbind(x,y,weights)
>> vw_m_diff <- function(dataset,w, d) {
> 
> My understanding of the principle underlying the design of the bootstrapped 
> function was that the data was the first argument and the index vector was 
> the second. (I admit to not knowing what it would do with a third argument. 
> So I would have guessed that you wanted:
> 
> vw_m_diff <- function(dataset,w) {
>     differences <- dataset[d,1]-dataset[d,2]
>    weights <- dataset[w, "weights"]
>    return(weighted.mean(x=differences, w=weights))
>  } 

I'm sorry. That was the code I first editted. This is the code that produced 
that output:

 vw_m_diff <- function(dataset,w) {
      differences <- dataset[w,1]-dataset[w,2]
     weights <- dataset[w, "weights"]
     return(weighted.mean(x=differences, w=weights))
   }

> 
> I get what appears to me as a sensible set of estimates (since they seem 
> centered on zero) although I further admit I do not know what the theoretic 
> CI _should_ be for this problem:
> 
>> res_boot <- boot(dataset, statistic=vw_m_diff, R = 1000, w=dataset[,3])
>> boot.ci(res_boot)
> BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
> Based on 1000 bootstrap replicates
> 
> CALL : 
> boot.ci(boot.out = res_boot)
> 
> Intervals : 
> Level      Normal              Basic         
> 95%   (-0.5657,  0.4962 )   (-0.5713,  0.5062 )  
> 
> Level     Percentile            BCa          
> 95%   (-0.6527,  0.4249 )   (-0.5579,  0.5023 )  
> Calculations and Intervals on Original Scale
> 
> 
>>   differences <- dataset[d,1]-dataset[d,2]
>>   weights <- w[d]
>>   return(weighted.mean(x=differences, w=weights))
>> }
>> res_boot <- boot(dataset, statistic=vw_m_diff, R = 1000, w=dataset[,3])
>> boot.ci(res_boot)
>> 
>> *BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS*
>> *Based on 1000 bootstrap replicates*
>> 
>> *CALL : *
>> *boot.ci <http://boot.ci>(boot.out = res_boot)*
>> 
>> *Intervals : *
>> *Level      Normal              Basic         *
>> *95%   (-0.8365, -0.3463 )   (-0.8311, -0.3441 )  *
>> 
>> *Level     Percentile            BCa          *
>> *95%   (-0.3276,  0.1594 )   (-0.4781, -0.3477 )  *
>> 
>> weighted.mean(x=dataset[,1]-dataset[,2], w=dataset[,3])
>> 
>> *[1] -0.07321734*
>> 
>>      [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-help@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.
> 
> David Winsemius
> Alameda, CA, USA
> 
> ______________________________________________
> R-help@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.

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@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.

Reply via email to