Read the help file on how to extract from a data frame:
?"[.data.frame"

Then, try adding a comma inside the brackets.
data.station1 <- data[data$Station==1, ] 
Before the comma, the data$Station==1 identifies what rows to select.
After the comma, the lack of specification indicates that all columns 
should be selected.

Jean


Suzanne.mertens wrote on 01/17/2012 03:17:41 PM:

> (As a noob to R, this is my first posting - yes yes, groans all 
around...)
> 
> I'm trying to extract certain rows from a data frame. I used the 
> following to import data from a CSV txt file.
> 
>    data <- read.table(file="data.txt", header=TRUE)
> 
> when I do this, my attempt to extract the data rows only from where 
> the Station value equals 1?
> 
>    data.station1 <- data[data$Station == 1]
> 
> ...is giving me the following error message:
> 
>    Error in `[.data.frame`(data, data
> $Station == 1) : 
>      undefined columns selected
> 
> 
> Bah. 
> If I use names(data) I can see "Station" as a column name. 
> And if I use str(data), the variable "Station" is coming up as 
> integers including the value 1. 
> And if I use data$Station, I see all station values, including the 1s. 
> And if I use data[,"Station"] I do see all the Station values
> And if I instead treat the Station values as characters, by using 
> "1", I still get the "undefined" error. 
> 
> Could someone please correct me on my syntax? Or advise if perhaps I
> imported the data the wrong way? I'm working out of "A Beginner's 
> Guide to R" and also looked through the R manual, and even tried 
> this from  Google search:
> 
>    data.station1 <- data,("Station" == 1) ]
> 
> But that gave me an unwanted output: 
>    data frame with 0 columns and 789 rows
> 
> Almost, but not quite. Please help?
> 
> 
> Thank you,
> 
> 
> 
> - Suzanne
> ..........................................
> suzanne.mertens@gmail.com
> 404-337-1533

	[[alternative HTML version deleted]]

