2016-08-25 4 views
2

У меня база данных. я получил курсовую колонку в этом data.tableУдалить акценты из столбца dataframe в R

class(base$term) 
[1] character 
length(base$term) 
[1] 27486 

Я могу удалить акценты из строки. Я могу удалить акценты из вектора строки.

iconv("Millésime",to="ASCII//TRANSLIT") 
[1] "Millesime" 
iconv(c("Millésime","boulangère"),to="ASCII//TRANSLIT") 
[1] "Millesime" "boulangere" 

Но по какой-то причине, он не работает, когда я применяю ту же самую функцию, на мой срок колонке

base$terme[2] 
[1] "Millésime" 
iconv(base$terme[2],to="ASCII//TRANSLIT") 
[1] "MillACsime" 

Кто-нибудь знает, что здесь происходит?

+0

Это потому, что 'база $ terme' является фактором? Попробуйте конвертировать в 'character' сначала или преобразовать уровни, может быть? – NJBurgo

+0

@NJBurgo В соответствии с первым результатом (при условии опечатки) это тип 'character'. –

+0

Осторожно: я получаю совершенно другой результат для ваших векторов: '' [1] «Mill'esime» «boulang'ere» '' В документации 'iconv' указано, что' TRANSLIT' дает разные результаты для разных систем (из конечно, немного бесполезно). –

ответ

3

Ok способ решить эту проблему:

Encoding(base$terme[2]) 
[1] "UTF-8" 
iconv(base$terme[2],from="UTF-8",to="ASCII//TRANSLIT") 
[1] "Millesime" 

Благодаря @nicola

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