Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- numsplits<-1000
- f=file.choose()
- text<-readLines(f,encoding="UTF-8")
- nrows<-length(text)
- writeLines(text[length(text)], con = "D:\\projects\\basicToR\\junk.txt", sep = "\n", useBytes = FALSE)
- k<-read.table("D:\\projects\\basicToR\\junk.txt",sep=",")
- ncolumns<-length(k)
- print("nrows="); print(nrows)
- print("ncolumns="); print(ncolumns)
- t<-read.table(f,sep=",")
- nentries=0;for (i in t){for (k in i){nentries=nentries+1}}
- print("nentries=");print(nentries)
- if(nentries==nrows*ncolumns) {
- print("Columns, rows, and entries check; we're good to go.")
- }
- else{
- print("Columns, rows, and entries don't check; please look at your data file to make sure each line has equal no. of entries.")
- }
- #t<-read.table(f,sep=",")
- #for (i in seq(1, nrows, 1)) {
- # for (j in seq(1, ncolumns, 1)) {
- # if(j!=ncolumns){
- # print(t[i,j]);print(",");
- # }
- # else{
- # print(t[i,j]);#chr$(10)
- # }
- # }
- #}
- nfirsthalf<-ncolumns/2
- nsechalf<-ncolumns-nfirsthalf
- sumr<-0
- sumsteppedr<-0
- for (split in seq(1, numsplits, 1)){
- firstsofar=0
- sum1=0
- count1=0
- sum2=0
- count2=0
- sumsteppedrspear=0
- sumsteppedrrulon=0
- randnum<-list()
- score1<-list()
- randnum2<-list()
- for (i in seq(1, nfirsthalf, 1)) {
- randnum[i]=round(ncolumns*runif(1, min=0, max=1)+1)
- taken<-"no"
- for (q in seq(1,firstsofar,1)) {
- if( randnum[i]==randnum[q]) {taken="yes"}
- }
- if (taken=="yes"){randnum[i]=round(ncolumns*runif(1, min=0, max=1)+1)}
- print("Keeper is");print(randnum(i))
- firstsofar=firstsofar+1
- }
- for (i in seq(1, nfirsthalf, 1)) {
- print(randnum[i])
- }
- j<-0
- for (i in seq(1, ncolumns, 1)) {
- taken<-"no"
- for (q in seq(1, nfirsthalf, 1)) {
- if (randnum[q]==i){taken="yes"}
- }
- if (taken=="no"){
- j=j+1
- randnum2[j]=i
- }
- }
- for (i in seq(1, nsechalf, 1)) {
- print("randnum2="); print(randnum2[i])
- }
- sum1=0
- count1=0
- for (z in seq(1, nrows, 1)) {
- sum1=0
- count1=0
- for (i in seq(1, nfirsthalf, 1)) {
- y=randnum[i]
- if (t[z,y]!="n"){sum1=sum1+as.numeric(t[z,y]);count1=count1+1}
- }
- if(count1==0){print("a split where all were missing! line number=");print(z);count1=1}
- av1[z]=sum1/count1
- score1[z]=av1[z]*nfirsthalf
- }
- sum2=0
- count2=0
- for (z in seq(1, nrows, 1)) {
- sum2=0
- count2=0
- for (i in seq(1, nfirsthalf, 1)) {
- y=randnum2[i]
- if(t[z,y]!="n"){sum2=sum2+as.numeric(t[z,y]);count2=count2+1}
- }
- av2[z]=sum2/count2
- score2[z]=av2[z]*nsechalf
- }
- for (z in seq(1, nrows, 1)) {
- scoretot[z]=score1[z]+score2[z]
- }
- sumxy=0
- sumx=0
- sumy=0
- sumx2=0
- sumy2=0
- sumscoretot2=0
- sumscoretot=0
- for (i in seq(1, nrows, 1)) {
- sumxy=sumxy+score1[i]*score2[i]
- sumx=sumx+score1[i]
- sumy=sumy+score2[i]
- sumx2=sumx2+(score1[i])^2
- sumy2=sumy2+(score2[i])^2
- sumscoretot2=sumscoretot2+scoretot[i]^2
- sumscoretot=sumscoretot+scoretot[i]
- }
- r=(sumxy-sumx*sumy/nrows)/((sumx2-sumx^2/nrows)*(sumy2-sumy^2/nrows))^0.5
- sdforx=((1/nrows)*(sumx2-sumx^2/nrows))^0.5
- sdfory=((1/nrows)*(sumy2-sumy^2/nrows))^0.5
- varfortot=((1/nrows)*(sumscoretot2-sumscoretot^2/nrows))
- steppedrspear=(2*r)/(1+r)
- steppedrrulon=4*r*sdforx*sdfory/varfortot
- sumsteppedrspear=sumsteppedrspear+steppedrspear
- sumsteppedrrulon=sumsteppedrrulon+steppedrrulon
- }
- avsteppedrspear=sumsteppedrspear/numsplits
- print("average of stepped up r's, using Spearman method=");print(avsteppedrspear)
- avsteppedrrulon=sumsteppedrrulon/numsplits
- print("average of stepped up r's, using Rulon method="); print(avsteppedrrulon)
- sumvariances=0
- for (i in seq(1, ncolumns, 1)) {
- sumfirsts=0
- sumsq=0
- variance=0
- for (j in seq(1, nrows, 1)) {
- sumfirsts=sumfirsts+as.numeric(t[j,i])
- sumsq=sumsq+(as.numeric(t[j,i]))^2
- }
- sfs=sumfirsts^2
- variance=(1/nrows)*(sumsq-sfs/nrows)
- sumvariances=sumvariances+variance
- }
- for (i in seq(1, ncolumns, 1)) {
- mean=0
- sumdevs2=0
- sumfirsts=0
- for (j in seq(1, nrows, 1)) {
- sumfirsts=sumfirsts+as.numeric(t[j,i])
- }
- mean=sumfirsts/nrows
- for (j in seq(1, nrows, 1)) {
- sumdevs2=sumdevs2+(as.numeric(t[j,i])-mean)^2
- }
- sumvariances=sumvariances+sumdevs2/nrows
- }
- alphatrad=(ncolumns/(ncolumns-1))*(1-sumvariances/varfortot)
- print("alphatrad=");print(alphatrad)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement