[R] editing a data.frame
Daniel Folkinshteyn
dfolkins at gmail.com
Fri Jun 6 23:31:53 CEST 2008
works for me:
> sub('1.00', '1', '1.00E-20')
[1] "1E-20"
remember, according to ?sub, it's sub(pattern, repl, string)
try doing it step by step. first, see what yr1bp$TreeTag[1501] is.
then, if it's the right data item, see what the output of sub("1.00",
"1", yr1bp$TreeTag[1501]) is.
that'll let you figure out where the problem lies.
finally, if all your target strings are of the form 1.00E-20, you could
sub the whole thing with a more general regexp:
sub("([0-9])(\.[0-9]{2})(.*)", "\\1\\3", yourvector)
(it matches a digit, followed by a dot and two digits, followed by
"anything else", and takes out the "dot and two digits" bit in the
replacement, in the whole vector.)
on 06/06/2008 03:25 PM john.polo said the following:
> dear R users,
>
> the data frame (read in from a csv) looks like this:
> TreeTag Census Stage DBH
> 1 CW-W740 2001 juvenile 5.8
> 2 CW-W739 2001 juvenile 4.3
> 3 CW-W738 2001 juvenile 4.7
> 4 CW-W737 2001 juvenile 5.4
> 5 CW-W736 2001 juvenile 7.4
> 6 CW-W735 2001 juvenile 5.4
> ...
> 1501 1.00E-20 2001 adult 32.5
>
> i would like to change values under the TreeTag column. as the last
> value shows, some of the tags have decimals followed by 2 decimal
> places. i just want whole numbers, i.e. not 1.00E-20, but 1E-20. i have
> a rough understanding of regexp and grepped all the positions that have
> the inappropriate tags. i tried sub() a couple of different ways, like
> yr1bp$TreeTag[1501]<-sub("1.00", "1", yr1bp$TreeTag[1501])
> and after turning yr1bp$TreeTag[1501] into <NA>,
> yr1bp$TreeTag[1501]<-sub("", "1E-20", yr1pb$TreeTag[1501])
> and
> sub("", "1E-20", yr1bp$TreeTag[1501])
> but it's not working. i guess it has something to do with the data.frame
> characteristics i'm not aware of or don't understand. would i somehow
> have to tear apart the columns, edit them, and then put it back
> together? not that i know how to do that, but i'm wondering out loud.
>
> john
>
> ______________________________________________
> 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