# Ranks # Dennis E. Slice (c) 2012 # Show relationships between values and ranks # Sweep the deck rm(list=ls()) # Set sample size, et al. n = 100 par(ask=T) # Some independent (r=0) variables. y1 = rnorm(100) y2 = rnorm(100) plot(y1,y2) y1.rank = rank(y1) y2.rank = rank(y2) print(y1.rank) print(y2.rank) plot(y1.rank,y2.rank) # Now some correlated variables r = -0.8 y1 = rnorm(n) y.hold = rnorm(n) y2 = y1*r + (1-r*r)*y.hold plot(y1,y2) y1.rank = rank(y1) y2.rank = rank(y2) print(y1.rank) print(y2.rank) plot(y1.rank,y2.rank) # Pause until Return to continue print("Press Return to continue...") readline() # Pearson v. Spearman pearsons.r = cor.test(y1,y2) print(pearsons.r) spearmans.rho = cor.test(y1,y2,method="s") print(spearmans.rho) print(cor.test(rank(y1),rank(y2))) # Pause until Return to continue print("Press Return to continue...") readline() # And Kendall's tau kendalls.tau = cor.test(y1,y2,method="k") print(kendalls.tau) # Again, with less correlation r = 0.3 y1 = rnorm(n) y.hold = rnorm(n) y2 = y1*r + (1-r*r)*y.hold # Pearson v. Spearman v. Kendall pearsons.r = cor.test(y1,y2) print(pearsons.r) spearmans.rho = cor.test(y1,y2,method="s") print(spearmans.rho) print(cor.test(rank(y1),rank(y2))) kendalls.tau = cor.test(y1,y2,method="k") print(kendalls.tau)