# Calculating Kendall's tau

7 messages
Open this post in threaded view
|

## Calculating Kendall's tau

 I am analyzing trend  using Mann-kendall  test for 31 independent sample, each sample  have 34 years dataset.  I supposed to find Kendall “tau” for each sample. The data is arranged in column wise (I attached  the data).To find Kendall tau, I wrote R script as:      desta<-read.csv("rainfall.csv", header=T, sep=",")     require(Kendall)              MK<-function(y) {                 nc<-ncol(y)                 MannKendalltau<- numeric(nc)                 for(i in 2:nc){                          MannKendalltau[i]<-MannKendall(y[,i])           }            MannKendalltau    }    MK(desta) The  displayed result showed  both “tau”  and “2-sided p-value”in unorganized way.  But, I want only “tau” value that is presented in organized  manner. Anyone can tell me how can I get orderly displayed  “tau” value? here is my sample result:      [[1]][1] 0 [[2]][1] 0.4352941attr(,"Csingle")[1] TRUE [[3]][1] 0.5462185attr(,"Csingle")[1] TRUE [[4]][1] 0.4218487attr(,"Csingle")[1] TRUE....Thank you for your guidance          [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Calculating Kendall's tau

 This sounds like homework. Homework is discouraged on this list (but you might get lucky). Cheers, Bert Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374 "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." Clifford Stoll On Tue, Mar 31, 2015 at 9:08 AM, Desta Yoseph via R-help <[hidden email]> wrote: > I am analyzing trend  using Mann-kendall  test for 31 independent sample, each sample  have 34 years dataset.  I supposed to find Kendall “tau” for each sample. The data is arranged in column wise (I attached  the data).To find Kendall tau, I wrote R script as: >      desta<-read.csv("rainfall.csv", header=T, sep=",")     require(Kendall)              MK<-function(y) {                 nc<-ncol(y)                 MannKendalltau<- numeric(nc)                 for(i in 2:nc){                          MannKendalltau[i]<-MannKendall(y[,i])           }            MannKendalltau    }    MK(desta) > The  displayed result showed  both “tau”  and “2-sided p-value”in unorganized way.  But, I want only “tau” value that is presented in organized  manner. Anyone can tell me how can I get orderly displayed  “tau” value? here is my sample result:      [[1]][1] 0 > [[2]][1] 0.4352941attr(,"Csingle")[1] TRUE > [[3]][1] 0.5462185attr(,"Csingle")[1] TRUE > [[4]][1] 0.4218487attr(,"Csingle")[1] TRUE....Thank you for your guidance > >         [[alternative HTML version deleted]] > > ______________________________________________ > [hidden email] mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Calculating Kendall's tau

Open this post in threaded view
|

## Re: Calculating Kendall's tau

Open this post in threaded view
|

## Re: Calculating Kendall's tau

 > MannKendalltau<- numeric(nc) simply makes MannKendalltau a single > integer equal to nc; that doesn't look sensible when the next thing you > do is treat MannKendalltau as a vector. No, numeric(nc) makes a "numeric" (double precision) vector of length nc filled with zeros. Perhaps you were thinking of as.numeric(nc), which makes a numeric vector of length one containing the value nc. Bill Dunlap TIBCO Software wdunlap tibco.com On Thu, Apr 2, 2015 at 7:06 AM, S Ellison <[hidden email]> wrote: > > I am analyzing trend  using Mann-kendall  test for 31 independent > sample, each > > sample  have 34 years dataset.  I supposed to find Kendall “tau” for each > > sample. The data is arranged in column wise (I attached  the data).To > find > > Kendall tau, I wrote R script as: > > ... > > Anyone can tell me how can I get orderly displayed  “tau” value? > > Usually, in R, a hypothesis test returns an object, and you can extract an > individual element of that object. > > MannKendall seems to be no exception. Looking at the help page, a > MannKendall test returns... > " A list with class Kendall. > tau     Kendall’s tau statistic > sl      two-sided p-value > S       Kendall Score > D       denominator, tau=S/D > varS    variance of S" > > To get just tau, say something like > MannKendalltau[i]<-MannKendall(y[,i])\$tau > > But your code is a bit of a mess.... > MannKendalltau<- numeric(nc) simply makes MannKendalltau a single integer > equal to nc; that doesn't look sensible when the next thing you do is treat > MannKendalltau as a vector. R's been kind to you and extended > MannKendalltau when you tried to add things to later, non-existent, > elements, but it clearly wasn't the right thing to do. Look up ?numeric, > and then look up ?vector for next time you want to set up an empty vector. > > Second, since MannKendall(y[,i]) ) returns a list object of class Kendall, > MannKendalltau[i]<-MannKendall(y[,i]) assigns a whole  object containing 5 > values to each new element of your MannKendalltau. So your result is a list > of lists. > > Finally, you don’t need a loop at all. On a data frame, sapply would work > nicely, so (although I've not tested it) something like > > sapply(desta[,2:nc], 2, function(x) ManKendall(x)\$tau) > > ought to do the whole thing in one shot and package it nicely into a named > vector while it's about it. > > S Ellison > > > ******************************************************************* > This email and any attachments are confidential. Any u...{{dropped:17}} ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.