Looks like you have problems with indexing. In your code, fc is a vector of length 2, pv is a scalar(it only keeps the last value of the loop), then you try to cbind different lengths of vectors (row.names(y1), fc and pv). cbind only works for vectors with the same length.
I don't know what you want to achieve, but you can keep p.value using pv[i]. In the previous code, you reassiged pv before pv[i]. So your 1st assignment of pv wiped out pv vector. You need to read helps about indexing, vectors. Weidong On Thu, Oct 27, 2011 at 10:41 AM, Seb <seba....@gmail.com> wrote: > thanks for the replies.... so, i remove the indices pv[i] and > fc[i]..but when i run it like this: > =============== > fc=0 > pv=0 > for (i in 1:nrow(data)) > { > > v1= c(y1[i,1], y1[i,2]) > v2= c(y2[i,1], y2[1,2]) > fc=v1-v2 > w=t.test(v1,v2) > pv=w$p.value > } > > results = cbind(row.names(y1), fc, pv) > > head(results) > ================= > > i get > > =========== > Warning message: > In cbind(row.names(y1), fc, pv) : > number of rows of result is not a multiple of vector length (arg 2) > ============= > > and the "fc" values are repeated over until the end of the rows and > the "pv" is the same all across the samples...how can i fix it?! > > ...i apologize if it's a silly situation but i'm new to this and can't > get my head around it! > > thanks so much!! > > > > > > > > On Thu, Oct 27, 2011 at 9:02 AM, Weidong Gu <anopheles...@gmail.com> wrote: >> In your loop, you assign, for example, pv twice >> pv=w$p.value # pv is scalar >> pv[i]= w[2] # pv is a vector >> >> give an example for the point >> >> pv=1 >> pv[5]=2 >> pv >> [1] 1 NA NA NA 2 >> >> This may not be what you want. >> >> Weidong >> >> On Thu, Oct 27, 2011 at 7:40 AM, Seb <seba....@gmail.com> wrote: >>> y1,y2 were designed as follow,from the original data file : >>> y1=data[,1:2] >>> y2=data[,3:4] >>> >>> ...I am a bit confused with what "redesign the whole vector again" and >>> "specify indices twice " actually mean?...could u point it out in the >>> script? >>> >>> Thanks so much I really appreciate it!! >>> >>> Sent from my -DROID- >>> >>> On Oct 26, 2011 6:56 PM, "Weidong Gu" wrote: >>>> >>>> If you provide an example data (y1 and y2 in the loop), you might have >>>> got specific helps already. A few things in your loop seem suspicious. >>>> fc and pv are vectors, and in each loop you redesigned the whole >>>> vectors and specific indices twice. That may cause your problems. >>>> >>>> Weidong Gu >>>> >>>> >>>> >>>> On Wed, Oct 26, 2011 at 4:56 PM, Seb <seba....@gmail.com> wrote: >>>> > hi all >>>> > >>>> > i started recently using R and i found myself stuck when i try to >>>> > analyze microarray data. >>>> > >>>> > i use the "affy" package to obtain the intensities of the probes, i >>>> > have two CTRs and two treated. >>>> > >>>> > HG.U133A.Experiment1.CEL HG.U133A.Experiment2.CEL >>>> > HG.U133A_Control1.CEL HG.U133A_Control2.CEL >>>> > 1007_s_at 2156.23115 467.75615 >>>> > 364.60615 362.11865 >>>> > 1053_at 88.76368 93.58436 >>>> > 438.49365 357.75615 >>>> > 117_at 144.00743 101.26120 >>>> > 95.11117 107.01623 >>>> > 121_at 551.36865 639.45615 >>>> > 456.66865 435.95615 >>>> > 1255_g_at 65.33164 18.39570 >>>> > 14.22565 20.74632 >>>> > 1294_at 106.19083 169.69369 >>>> > 78.15722 81.14689 >>>> > >>>> > i divided the first two columns in two data.frames to divide Experim and >>> CTRs >>>> > >>>> > then, i created a FOR loop to create a vector per each row containing >>>> > a vector with two values per each gene and i wanted to do a >>>> > Wilcox.test to obtain the significant genes..BUT i get a list of NULL >>>> > like you can see here >>>> > ..the first row works but then i get NULL down till the end of the >>> array... >>>> > >>>> > fc pv >>>> > [1,] "1007_s_at" -20.248 0.4664612 >>>> > [2,] "1053_at" -344.7132 NULL >>>> > [3,] "117_at" NULL NULL >>>> > [4,] "121_at" NULL NULL >>>> > [5,] "1255_g_at" NULL NULL >>>> > [6,] "1294_at" NULL NULL >>>> > >>>> > the script i used is: >>>> > =================== >>>> > fc=0 >>>> > pv=0 >>>> > for (i in 1:nrow(data)) >>>> > { >>>> > v1= c(y1[i,1], y1[i,2]) >>>> > v2= c(y2[i,1], y2[1,2]) >>>> > fc=v1-v2 >>>> > w=t.test(v1,v2) >>>> > pv=w$p.value >>>> > fc[i]= w[1] >>>> > pv[i]= w[2] >>>> > } >>>> > >>>> > results = cbind(row.names(y1), fc, pv) >>>> > >>>> > head(results) >>>> > >>>> > ================ >>>> > >>>> > what did i do wrong? i can't find a way around this!!! >>>> > >>>> > thanks so much!!! >>>> > >>>> > Seb >>>> > >>>> > ______________________________________________ >>>> > R-help@r-project.org mailing list >>>> > 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. >>>> > >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list >>> 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. >>> >> > ______________________________________________ R-help@r-project.org mailing list 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.