What you have done is calculate correlations between two binary variables. You say you wanted to calculate the correlation between two truncated variables. One way to do this here is to make a temporary copy setting the excluded values to missing, e.g.:
> tBoth <- Both > is.na(tBoth[tBoth > 2.5]) <- TRUE > R <- cor(tBoth, use = "complete.obs") > R[1,2] > > cor.test(tBoth[,1], tBoth[,2]) (Estimating correlations from a truncated distribution in this naive fashion seems a very odd thing to do, though...) Bill Venables CSIRO/CMIS Cleveland Laboratories -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of pgseye Sent: Tuesday, 30 March 2010 2:41 PM To: r-help@r-project.org Subject: [R] use logical in cor.test Hi, I've got 4 variables that I want to effectively 'stack' so that I have a grand R variable and a grand L variable. This works to achieve that goal: Twin1cor<-with(twin.wide,cbind(ACDepthR.1,ACDepthL.1)) Twin2cor<-with(twin.wide,cbind(ACDepthR.2,ACDepthL.2)) Both<-rbind(Twin1cor,Twin2cor) > str(Both) num [1:1858, 1:2] 3.36 NA NA NA NA NA NA 3.92 3.5 NA ... - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:2] "ACDepthR.1" "ACDepthL.1" I then want to perform a pearson correlation of the two variables, but exclude any value greater than 2.5. When I do this without excluding anything, with: cor.test(Both[,1],Both[,2]) I get: Pearson's product-moment correlation data: Both[, 1] and Both[, 2] t = 35.848, df = 854, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.7468716 0.8005199 sample estimates: cor 0.7750889 But when I try: cor.test(Both[,1]>2.5,Both[,2]>2.5) I get: Pearson's product-moment correlation data: Both[, 1] > 2.5 and Both[, 2] > 2.5 t = 13.3192, df = 854, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.3576600 0.4687099 sample estimates: cor 0.414728 I'm not sure why. I know the correlation should improve from the plot by excluding those under 2.5, but it decreases. Have I done something wrong here? Thanks, Paul -- View this message in context: http://n4.nabble.com/use-logical-in-cor-test-tp1744701p1744701.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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. ______________________________________________ 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.