[R] Troubleshooting code

Rolf Turner rolf.turner at xtra.co.nz
Tue Mar 12 20:28:28 CET 2013


Your code appears to be a load of dingos' kidneys, but in general when
troubleshooting one can do worse than be guided by
fortune("magnitude and direction").

     cheers,

         Rolf Turner

On 03/13/2013 01:29 AM, Sahana Srinivasan wrote:
> Hi everyone, I am having trouble understanding where I went wrong with my
> code. It seems to logically be "all there"  but the output says otherwise.
> I know this is a bit long but I can't seem to find the errors so I would
> appreciate your help :)
>
> This is my program :
>
> files<-Sys.glob("*.rescount.txt");length<-length(files);* #selecting all
> files of a particular extension, saving in a list*
> a<-1;
> while(a<=length) *#going through every element of the list*
> {
>    df1<-read.table(files[a]);
>    c.leng<-length(files[,1]);
>    r.leng<-length(files[1,]); *#creating data frame for output with the same
> dimensions as input*
>    opdf<-data.frame(matrix(rep(NA,nrow(df1)*ncol(df1)),nrow=nrow(df1)));
>    opdf[,1]<-df1[,1];
>    opdf[1,]<-df1[1,]; *#copying the first row and first column so they have
> the same headers*
>    b<-2;
>    while(b<=c.leng) *#working through each row of the input data frame*
>    {
>      c<-2;
>      while(c<=r.leng) *#working through each row element of a particular
> column*
>      {
>        n<-(df1[c][b,]);
>        k<-1;
>        while(k<=(n-1)) *#inner loop to go through a value of 'k' variable*
>        {
>          ... *#working with the code to generate a value*
>          opdf[c][b,]<-sum; *#[1]*
>          k<-k+1;
>        }
>        c<-c+1;
>      }
>      b<-b+1;
>    }
>    fname<-strsplit(files[a],".seq.ptseq.rescount.txt"); *#generating uniqe
> file names based on the input file names*
>    ext<-".zsc.txt";
>    filename<-paste0(fname,ext);
>
> write.table(opdf,file=filename,row.names=FALSE,col.names=FALSE,quote=FALSE,sep="\t");
>    a<-a+1;
>
> }
>
> If the input data frame is supposed to be :
>
> *NAME    V1      V2     V3*
> *V1' *         10      12       45
> *V2'  *          56      34       79
> *V3'  *         34      67        87
>
> The output data frame should be :
> *NAME    V1      V2     V3*
> *V1' *         x        y       z
> *V2'  *        a         b       c
> *V3'  *         n         p       q
> (all the letters of the alphabet are various numbers generated by the
> program and filled in in the line marked by #[1]
>
> However my output file contains this:
> "x"



More information about the R-help mailing list