2012-06-10 8 views
1

Я создал функцию, которая удаляет en и em тире. Большой! Но когда я пытаюсь загрузить его в github, а затем переустанавливать в виде пакета, что-то происходит с функцией. Он заменяет тире некоторыми персонажами gobly gook. Это обычно означает unicode. Я хочу иметь возможность экспортировать функцию.Экспорт символов Юникода для пакета

Я попытался заменить \\– на \u2013 и 0x2013. Также играются с аргументами fixed и perl. Не повезло.

Вот:

  1. функция, которая работает
  2. тестовый пример
  3. , как она выглядит после того, как я импортировать его обратно в

Код:

#What I exported 
incomp <- function (text.var){ 
    x <- gsub("\\–", "|", x) 
    x <- gsub("\\—", "|", x) 
    return(x) 
} 

#here it is in action working well 
x <- c("I like...", "well?.", "–", "—") 
incomp(x) 

#[1] "I like..." "well?." "|" "|" #what I look like (ain't I pretty?) 

#what the exported function looks like when the package compiles 
incomp <- function (text.var){ 
    x <- gsub("[–]", "|", x) 
    x <- gsub("[—]", "|", x) 
    return(x) 
} 

#I don't work anymore 
x <- c("I like...", "well?.", "(–", "—") #I'm broken 
incomp(x) 

Поиск r и unicode приводит к большому количеству информации, но я не могу правильно применить его к своей ситуации.

The unicodes are:

  • u2013 для тире
  • u2014 для длинного тире

Этот пост кросс размещен на talkstats.com. Обычно я не переправляю почту, но я под пистолетом, чтобы это понять. Я свяжу эти два потока. LINK TO THE TALKSTATS THREAD

Заранее спасибо.

ответ

0

Значение по умолчанию при экспорте языкового стандарта R установлено на «C», я думаю. Ваш язык может отличаться. Возможно, вы можете использовать Sys.setlocale в своем пакете?

Смежные вопросы