[R] Subsetting a group of data
arun
smartpink111 at yahoo.com
Fri Oct 5 06:24:01 CEST 2012
HI,
Another way to get the result:
dat1 <- read.table(text="
Cola Colb
1 1 1
2 1 1
3 1 1
4 -1 1
5 -1 -1
6 -1 -1
7 1 -1
8 -1 -1
9 -1 -1
10 -1 -1
", header=TRUE)
list1<-split(dat1,within(dat1,{new1<-as.numeric(unlist(strsplit(gsub("AAA(\\d)AA(\\d).*","111\\133\\2555",gsub("(.*)B(.*)B(.*)","\\12\\24\\3",paste(ifelse(dat1$Cola==dat1$Colb,"A","B"),collapse=""))),"")))})[,3])
list1
#$`1`
# Cola Colb
#1 1 1
#2 1 1
#3 1 1
#$`2`
# Cola Colb
#4 -1 1
#$`3`
# Cola Colb
#5 -1 -1
#6 -1 -1
#$`4`
# Cola Colb
#7 1 -1
#$`5`
# Cola Colb
#8 -1 -1
#9 -1 -1
#10 -1 -1
A.K.
----- Original Message -----
From: Ian Arvin <ian at innovativequant.com>
To: r-help at r-project.org
Cc:
Sent: Thursday, October 4, 2012 10:20 AM
Subject: [R] Subsetting a group of data
Hi,
I am making my way down the learning curve of R, and find it a great
language with so many helpful users!
Below is an example of what I'm trying to do, but can't quite figure out the
right path to go down.
Here's what I have:
Main is a time series of data with columns Cola and Colb
Cola Colb
1 1 1
2 1 1
3 1 1
4 -1 1
5 -1 -1
6 -1 -1
7 1 -1
8 -1 -1
9 -1 -1
10 -1 -1
What I would like is to subset the data into groups - rows 1-3 into one
group (Cola and Colb both =1), then row 4 by itself, then rows 5-6, then row
7, then rows 8-10.
Group 1
Cola Colb
1 1 1
2 1 1
3 1 1
Group 2
Cola Colb
1 -1 1
Group 3
Cola Colb
1 -1 -1
2 -1 -1
Thank you for your help!
Ian
[[alternative HTML version deleted]]
______________________________________________
R-help at 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.
More information about the R-help
mailing list