An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20111028/ff759487/attachment.pl>
Extracting data by row
3 messages · Vinny Moriarty, Rainer Schuermann, William Dunlap
On Friday 28 October 2011 18:04:59 Vinny Moriarty wrote:
Thanks everyone for you help with my last question, and now I have one last one...
Here is what I would do, based on my understanding of your question: # your data snippet as data frame
x
site time_local time_utc reef_type_code sensor_type 1 6 2006-04-09 10:20:00 2006-04-09 20:20:00 BAK sb39 2 6 2006-04-09 10:40:00 2006-04-09 20:40:00 BAK sb39 3 6 2006-04-09 11:00:00 2006-04-09 21:00:00 BAK sb39 4 6 2006-04-09 11:20:00 2006-04-09 21:20:00 BAK sb39 5 6 2006-04-09 11:40:00 2006-04-09 21:40:00 BAK sb39 6 6 2006-04-09 12:00:00 2006-04-09 22:00:00 BAK sb39 7 6 2006-04-09 12:20:00 2006-04-09 22:20:00 BAK sb39 8 6 2006-04-09 12:40:00 2006-04-09 22:40:00 BAK sb39 9 6 2006-04-09 13:00:00 2006-04-09 23:00:00 BAK sb39 sensor_depth_m temperature_c 1 2 29.63 2 2 29.56 3 2 29.51 4 2 29.53 5 10 29.57 6 2 29.60 7 2 29.66 8 10 29.68 9 2 29.68 # extracting all 10m depth sensors using subscripting
Ten <- x[x["sensor_depth_m"]==10,] Ten
site time_local time_utc reef_type_code sensor_type 5 6 2006-04-09 11:40:00 2006-04-09 21:40:00 BAK sb39 8 6 2006-04-09 12:40:00 2006-04-09 22:40:00 BAK sb39 sensor_depth_m temperature_c 5 10 29.57 8 10 29.68 Does that help? Rgds, Rainer
On Friday 28 October 2011 18:04:59 Vinny Moriarty wrote:
Thanks everyone for you help with my last question, and now I have one last one... Here is a sample of my data in .csv format site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temper ature_c 06,2006-04-09 10:20:00,2006-04-09 20:20:00,BAK,sb39, 2, 29.63 06,2006-04-09 10:40:00,2006-04-09 20:40:00,BAK,sb39, 2, 29.56 06,2006-04-09 11:00:00,2006-04-09 21:00:00,BAK,sb39, 2, 29.51 06,2006-04-09 11:20:00,2006-04-09 21:20:00,BAK,sb39, 2, 29.53 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57 06,2006-04-09 12:00:00,2006-04-09 22:00:00,BAK,sb39, 2, 29.60 06,2006-04-09 12:20:00,2006-04-09 22:20:00,BAK,sb39, 2, 29.66 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 2, 29.68 My goal was to extract all of the rows from a certain depth. Using the column "sensor_depth_m" to order my data by, I wanted all of the data from 10m. So this is what I wanted when I finished site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temper ature_c 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 10, 29.68 To pull out all of the data from a 10m sensor depth I came up with the code: Ten<-dataTable1[(dataTable1$sensor_depth_m=="10"),] But when I run it I just get an extra column tacked onto the end like this site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temper ature_c, sensor_depth_m 06,2006-04-09 10:20:00,2006-04-09 20:20:00,BAK,sb39, 2, 29.63,10 06,2006-04-09 10:40:00,2006-04-09 20:40:00,BAK,sb39, 2, 29.56,10 06,2006-04-09 11:00:00,2006-04-09 21:00:00,BAK,sb39, 2, 29.51,10 06,2006-04-09 11:20:00,2006-04-09 21:20:00,BAK,sb39, 2, 29.53,10 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57,10 06,2006-04-09 12:00:00,2006-04-09 22:00:00,BAK,sb39, 2, 29.60,10 06,2006-04-09 12:20:00,2006-04-09 22:20:00,BAK,sb39, 2, 29.66,10 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68,10 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 10, 29.68,10 It seems pretty straight forward, I'm not sure what I am missing. Thanks V [[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.
You didn't show the details of what you did before
Ten<-dataTable1[(dataTable1$sensor_depth_m=="10"),]
but that line makes me suspicious that you did some
experimentation with syntax before coming up with that
line. In particular, why did you use parentheses around
(dataTable1$sensor_depth_m=="10")
and why did you use quotes around the 10?
Here is an example of why you might have started using
the unnecessary (and misleading) parentheses. I'll
use a narrow dataset so its R printout does not get
line-wrapped by a rogue mailer.
> d <- data.frame(one=c(3,1,1,2), ten=c(3,1,1,2)*10)
> # first, use = instead of == for comparison
> d[ d$one = 1, ]
Error: unexpected '=' in "d[ d$one ="
> # react to error message by adding parentheses
> d[ (d$one = 1), ]
one ten
1 3 30
> # That is definitely the wrong answer.
> # The parentheses hid that problem that you were using =
> # instead of == and did d$one<-1, then d[1,] returned row 1.
> # Note that now d has been changed!
> d
one ten
1 1 30
2 1 10
3 1 10
4 1 20
That may explain how you got a column of 10's (after a ...=10),
but I don't know what you may have done to get a second column
called sensor_depth_m. Nor do I have a guess as to why you
put quotes around the number 10.
This is why R-help asks to see exactly what you did in R,
not just a synopsis. (When I copied what you showed into
R, adding a read.csv(header=TRUE, textConnection("...data...")),
I got the correct 2 lines of output, not the incorrect 3 lines you
indicated that you wanted.)
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Vinny Moriarty Sent: Friday, October 28, 2011 6:05 PM To: r-help at r-project.org Subject: [R] Extracting data by row Thanks everyone for you help with my last question, and now I have one last one... Here is a sample of my data in .csv format site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temperature_c 06,2006-04-09 10:20:00,2006-04-09 20:20:00,BAK,sb39, 2, 29.63 06,2006-04-09 10:40:00,2006-04-09 20:40:00,BAK,sb39, 2, 29.56 06,2006-04-09 11:00:00,2006-04-09 21:00:00,BAK,sb39, 2, 29.51 06,2006-04-09 11:20:00,2006-04-09 21:20:00,BAK,sb39, 2, 29.53 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57 06,2006-04-09 12:00:00,2006-04-09 22:00:00,BAK,sb39, 2, 29.60 06,2006-04-09 12:20:00,2006-04-09 22:20:00,BAK,sb39, 2, 29.66 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 2, 29.68 My goal was to extract all of the rows from a certain depth. Using the column "sensor_depth_m" to order my data by, I wanted all of the data from 10m. So this is what I wanted when I finished site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temperature_c 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 10, 29.68 To pull out all of the data from a 10m sensor depth I came up with the code: Ten<-dataTable1[(dataTable1$sensor_depth_m=="10"),] But when I run it I just get an extra column tacked onto the end like this site,time_local,time_utc,reef_type_code,sensor_type,sensor_depth_m,temperature_c, sensor_depth_m 06,2006-04-09 10:20:00,2006-04-09 20:20:00,BAK,sb39, 2, 29.63,10 06,2006-04-09 10:40:00,2006-04-09 20:40:00,BAK,sb39, 2, 29.56,10 06,2006-04-09 11:00:00,2006-04-09 21:00:00,BAK,sb39, 2, 29.51,10 06,2006-04-09 11:20:00,2006-04-09 21:20:00,BAK,sb39, 2, 29.53,10 06,2006-04-09 11:40:00,2006-04-09 21:40:00,BAK,sb39, 10, 29.57,10 06,2006-04-09 12:00:00,2006-04-09 22:00:00,BAK,sb39, 2, 29.60,10 06,2006-04-09 12:20:00,2006-04-09 22:20:00,BAK,sb39, 2, 29.66,10 06,2006-04-09 12:40:00,2006-04-09 22:40:00,BAK,sb39, 10, 29.68,10 06,2006-04-09 13:00:00,2006-04-09 23:00:00,BAK,sb39, 10, 29.68,10 It seems pretty straight forward, I'm not sure what I am missing. Thanks V [[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.