[R] removing rows from a dataframe

Peter Dalgaard BSA p.dalgaard at biostat.ku.dk
Sun Sep 3 21:17:12 CEST 2000


"Jeff Miller" <jdm at xnet.com> writes:

>     Hi,
> 
>     I have a dataframe, hilodata, which looks like this:
> 
> > hilodata
>     sym         date               maxprice           minprice         ntick
>  1  ABK     19910711     11.1867461      0.0000000       108
>  2  ABK     19910712     11.5298979     11.1867461      111
>  3  ABK     19910715     11.7357889     11.4612675       52
>  4  ABK     19910716     11.5298979     11.3240068       51
>  5  ABK     19910717     11.4612675     11.1181158       23
>  6 CSCO   19910102      0.1553819      0.0000000         106
>  7 CSCO   19910103      0.1527778      0.1458333         166
>  8 CSCO   19910104      0.1475694      0.1397569         205
>  9 CSCO   19910107      0.1414931      0.1362847         164
> 10 CSCO  19910108      0.1440972      0.1380208         127
> 11 CSCO  19910109      0.1467014      0.1414931          83
> 12 CSCO  19910110      0.1440972      0.1414931          70
> 13  KMP   19991213     40.5625000      0.0000000         63
> 14  KMP   19991214     41.3125000     40.4375000        71
> 15  KMP   19991215     42.1875000     41.1875000        99
> 16  KMP   19991216     43.5000000     42.1250000        96
> 17  KMP   19991217     43.8750000     42.5625000        77
> 18  KMP   19991220     44.0000000     43.3750000        56
> 
>     I'd like to make a new dataframe, newhilodata, that gets rid of each
> symbols first
>     row. So, in this example,  I'd like to get rid of rows 1, 6 and 13,
> leaving
<snip>
>     what is the best way to do this in R?

Well 

newhilodata <- hilodata[-c(1,6,13),]

should do it. To solve the more general problem of omitting the first
in each group, assuming "sym" is a factor, try something like

newhilodata <- subset(hilodata, diff(c(0,as.integer(sym))) != 0)

(actually, the as.integer is unnecessary because the c() will unclass
the factor automagically)
-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list