On 15/07/2011 1:42 PM, Sverre Stausland wrote:
>>>
>>>  >    funny.g<- "\u1E21"
>>>  >    funny.g
>>
>>  [1] "ḡ"
>>
>>>  >    data.frame (funny.g) ->    funny.g
>>>  >    funny.g$funny.g
>>
>>  [1] ḡ
>>  Levels:<U+1E21>
>
>  I think the problem is in the data.frame code, not in writing. Data.frames
>  try to display things in a readable way, and since you're on Windows where
>  UTF-8 is not really supported, the code helpfully changes that character to
>  the "<U+1E21>" string. for display.

I thought the data.frame function didn't alter the unicode coding,
since funny.g$funny.g above still displays the right unicode character
(although it does list the levels as<U+1E21>).

>  You should be able to write the Unicode character to file if you use lower
>  level methods such as cat(), on a connection opened using the file()
>  function with the encoding set explicitly.

I'm sorry, but I don't understand what it means "to use cat() on a
connection opened using the file() function". Could you please clarify
that?

Sorry, I think my suggestion was wrong.  What I meant was something like

file <- file("your filename", encoding="UTF-8")
cat("\u1E21", file= file)

but this doesn't appear to work.

Duncan Murdoch

______________________________________________
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