I wish to calculate a running window Spearman correlation in R. So far I've been using running
from gtools
package, but I could only get Pearson correlation out of it. I tried to modify the fun
parameter but couldn't get it to produce anything but errors.
My input is a data.frame:
row.names Small Large
1 1 97.80341 88.71192
2 2 97.46807 87.96206
3 3 97.18862 88.13904
4 4 97.76615 87.67329
5 5 97.09081 87.52425
6 6 97.16067 87.85493
7 7 97.73820 88.43712
etc. And this is the basic running command I tried to manipulate:
corr_table <- running (mytable$Large, mytable$Small,fun=cor, width=20, by=10, allow.fewer=FALSE, pad=FALSE, align="left")
My second question is how can I add the pvalue of each "window" ?
Thanks!
OK found a solution to both questions:
corr_table <- running (mytable$Large, mytable$Small,fun=cor.test, method="spearman", width=60, by=30, allow.fewer=FALSE, pad=FALSE, align="left")
newlist <- t(corr_table)
newlist <- as.matrix (newlist)
y <- newlist[,4]
x <- seq(from=1, to=92) #change the "to" according to number of values in Y
pvalue <- newlist[,3]
plot(x,y, xlim=c(1,92),ylim=c(-1,1), col=ifelse(pvalue < 0.05, "red", "black")) #change the "xlim" according to number of values in Y
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.