When reading binary files, it is usually best to use readBin's
what=, size=, signed=, and endian= arguments to get what you want.
Reading as characters and then converting them as you are doing
is a very hard way to do things (and this particular conversion doesn't
make much sense).

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

From: Ben quant [mailto:ccqu...@gmail.com]
Sent: Friday, June 08, 2012 11:40 AM
To: William Dunlap
Cc: r-help@r-project.org
Subject: Re: [R] remove leading slash

Okay, Bill smelt something wrong, so I must revise.

This works for large numbers:

prds = sapply(sapply(cnt_str,charToRaw),as.integer)

PS - this also solves an issue I've been having elsewhere...
PPS- Bill - I'm reading binary files...and learning.

thanks!
ben

On Fri, Jun 8, 2012 at 12:16 PM, William Dunlap 
<wdun...@tibco.com<mailto:wdun...@tibco.com>> wrote:
Can you tell us why you are interested in this mapping?
I.e., how did the "\001" and "\102" arise and why do you
want to convert them to the integers 1 and 102?

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com<http://tibco.com>


> -----Original Message-----
> From: r-help-boun...@r-project.org<mailto:r-help-boun...@r-project.org> 
> [mailto:r-help-boun...@r-project.org<mailto:r-help-boun...@r-project.org>] On 
> Behalf
> Of Ben quant
> Sent: Friday, June 08, 2012 11:00 AM
> To: Duncan Murdoch
> Cc: r-help@r-project.org<mailto:r-help@r-project.org>
> Subject: Re: [R] remove leading slash
>
> Thanks for all your help.  I did it this way:
>
> > x = sapply(cnt_str,deparse)
> > x
>        \002        \001        \002
> "\"\\002\<file:///\\002\>"" "\"\\001\<file:///\\001\>"" 
> "\"\\102\<file:///\\102\>""
> > as.numeric(substr(x,3,5))
> [1]   2   1 102
>
> ...which is a bit of a hack, but gets me where I want to go.
>
> Thanks,
> Ben
>
> On Fri, Jun 8, 2012 at 11:56 AM, Duncan Murdoch 
> <murdoch.dun...@gmail.com<mailto:murdoch.dun...@gmail.com>>wrote:
>
> > On 08/06/2012 1:50 PM, Peter Langfelder wrote:
> >
> >> On Fri, Jun 8, 2012 at 10:25 AM, David
> Winsemius<dwinsemius@comcast.**net<dwinsem...@comcast.net<mailto:dwinsem...@comcast.net>>>
> >>  wrote:
> >> >
> >> >  On Jun 8, 2012, at 1:11 PM, Ben quant wrote:
> >> >
> >> >>  Hello,
> >> >>
> >> >>  How do I change this:
> >> >>>
> >> >>>  cnt_str
> >> >>
> >> >>  [1] "\002" "\001" "\102"
> >> >>
> >> >>  ...to this:
> >> >>>
> >> >>>  cnt_str
> >> >>
> >> >>  [1] "2" "1" "102"
> >> >>
> >> >>  Having trouble because of this:
> >> >>>
> >> >>>  nchar(cnt_str[1])
> >> >>
> >> >>  [1] 1
> >> >
> >> >
> >> >  "\001" is ASCII cntrl-A, a single character.
> >> >
> >> >  ?Quotes   # not the first, second or third place I looked but I knew I
> >> had
> >> >  seen it before.
> >>
> >> If you still want to obtain the actual codes, you will be able to get
> >> the number using utf8ToInt from package base or AsciiToInt from
> >> package sfsmisc. By default, the integer codes will be printed in base
> >> 10, though.
> >>
> >
> > You could use
> >
> > > as.octmode(as.integer(**charToRaw("\102")))
> > [1] "102"
> >
> > if you really want the octal versions.  Doesn't work so well on "\1022"
> > though (because that's two characters long).
> >
> > Duncan Murdoch
> >
> >
> >> A roundabout way, assuming your are on a *nix system, would be to
> >> dump() cnt_str into a file, say tmp.txt, then run in a shell (or using
> >> system() ) something like
> >>
> >> sed --in-place 's/\\//g' tmp.txt
> >>
> >> to remove the slashes, then use
> >>
> >> cnt_str_new = read.table("tmp.txt")
> >>
> >> in R to get the codes back in. I'll let you iron out the details.
> >>
> >> Peter
> >>
> >> ______________________________**________________
> >> R-help@r-project.org<mailto:R-help@r-project.org> mailing list
> >> https://stat.ethz.ch/mailman/**listinfo/r-
> help<https://stat.ethz.ch/mailman/listinfo/r-help>
> >> PLEASE do read the posting guide http://www.R-project.org/**
> >> posting-guide.html <http://www.R-project.org/posting-guide.html>
> >> and provide commented, minimal, self-contained, reproducible code.
> >>
> >
> > ______________________________**________________
> > R-help@r-project.org<mailto:R-help@r-project.org> mailing list
> > https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-
> help>
> > PLEASE do read the posting guide http://www.R-project.org/**
> > posting-guide.html <http://www.R-project.org/posting-guide.html>
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
>       [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org<mailto:R-help@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.


        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to