subsetting levels of a vector
On Aug 10, 2012, at 4:07 AM, simona mancini <mancinisimona at yahoo.it> wrote:
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.
Take a look at ?subset and ?"%in%, which can be used in this fashion:
NewDF <- subset(DF, Electrode %in% c("FP1", "FP2", "F4"))
If the levels you do not want are few in number, it may be easier to use:
NewDF <- subset(DF, !Electrode %in% c("Levels", "You", "Don't", "Want"))
Note the use of '!' before Electrode to negate the boolean logic.
Regards,
Marc Schwartz