[R] subsetting levels of a vector
arun
smartpink111 at yahoo.com
Fri Aug 10 19:15:20 CEST 2012
Hi,
Try this:
dat <- read.table(text="
ParticipID ERP Electrode
1 s1 0.0370 FP1
2 s2 35.0654 FP2
3 s3 -3.3852 F4
4 s4 2.6119 P3
5 s5 0.1224 P4
6 s6 -5.3153 O1
7 s7 -3.88 F4
8 s8 -4.988 FP1
", header=TRUE)
str(d)
tomatch <- c("FP1", "FP2", "F4")
#You can use either one of these
dat[with(dat,Electrode%in%tomatch),]
dat[dat$Electrode%in%tomatch,]
#or
dat2<-within(dat,{Electrode=Electrode%in%tomatch})
dat[dat2$Electrode==TRUE,]
# ParticipID ERP Electrode
#1 s1 0.0370 FP1
#2 s2 35.0654 FP2
#3 s3 -3.3852 F4
#7 s7 -3.8800 F4
#8 s8 -4.9880 FP1
A.K.
----- Original Message -----
From: simona mancini <mancinisimona at yahoo.it>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc:
Sent: Friday, August 10, 2012 5:07 AM
Subject: [R] subsetting levels of a vector
Hi,
I need to subset different levels of vector in a dataset to create a new dataframe that contains only these. These observations are not numerical, so I can't use the subset() function (at least this is the response I get from R).
Suppose the dataframe looks like this:
ParticipID ERP Electrode
1 s1 0.0370 FP1
2 s2 35.0654 FP2
3 s3 -3.3852 F4
4 s4 2.6119 P3
5 s5 0.1224 P4
6 s6 -5.3153 O1
I want to create a subset of the dataframe with only the FP1, FP2, F4 levels of Electrode, how do I do?
(actually the levels I have to filter are much more than these three, but this is just to give an example).
I know this is a trivial question, but I am still getting familiar with R...
Thanks a lot,
s.
[[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