Here is a way of doing it using 'rle': > x <- read.table(textConnection(" SNP Chromosome > PhysicalPosition + 1 SNP_A-1909444 1 7924293 + 2 SNP_A-2237149 1 8173763 + 3 SNP_A-4303947 1 8191853 + 4 SNP_A-2236359 1 8323433 + 5 SNP_A-2205441 1 8393263 + 6 SNP_A-1909445 1 7924293 + 7 SNP_A-2237146 2 8173763 + 8 SNP_A-4303946 2 8191853 + 9 SNP_A-2236357 2 8323433 + 10 SNP_A-2205442 2 8393263"), header=TRUE) > # use rle to get the 'runs' > y <- rle(x$Chromosome) > # create dataframe with start/ends and values > start <- head(cumsum(c(1, y$lengths)), -1) > index <- data.frame(values=y$values, start=start, end=start + y$lengths - 1) > > index values start end 1 1 1 6 2 2 7 10 >
On Nov 14, 2007 10:56 AM, affy snp <[EMAIL PROTECTED]> wrote: > Hello list, > > I read in a txt file using > > <B<-read.table(file="data.snp",header=TRUE,row.names=NULL) > > by specifying the row.names=NULL so that the rows are numbered. > Below is an example after how the table looks like using > <B[1:10,1:3] > > > SNP Chromosome PhysicalPosition > 1 SNP_A-1909444 1 7924293 > 2 SNP_A-2237149 1 8173763 > 3 SNP_A-4303947 1 8191853 > 4 SNP_A-2236359 1 8323433 > 5 SNP_A-2205441 1 8393263 > 6 SNP_A-1909445 1 7924293 > 7 SNP_A-2237146 2 8173763 > 8 SNP_A-4303946 2 8191853 > 9 SNP_A-2236357 2 8323433 > 10 SNP_A-2205442 2 8393263 > > I am wondering if there is a way to return the start and end row numbers > for a subset of rows. > > For example, If I specify B[,2]=1, I would like to get > start=1 and end=6 > > if B[,2]=2, then start=7 and end=10 > > Is there any way in R to quickly do this? > > Thanks a bunch! > > Allen > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ 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.