【发布时间】:2017-01-02 02:11:19
【问题描述】:
我有一个 data.table 基础。 我在这个 data.table 中有一个术语列
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"
有人知道这里发生了什么吗?
【问题讨论】:
-
是因为
base$terme是一个因素吗?尝试先转换为character还是转换级别? -
@NJBurgo 根据第一个输出(假设有错字),它的类型是
character。 -
小心:我的向量得到了完全不同的结果:
[1] "Mill'esime" "boulang`ere"iconv文档指定TRANSLIT在不同的系统上给出不同的结果(这当然有点没用)。 -
试试
iconv(base$terme[2],from="latin1",to="ASCII//TRANSLIT")。如果不行,请给出Encoding(base$terme[2])的输出。 -
嗨 Nicola,Encoding(base$terme[2]) 的输出是“UTF-8”
标签: r diacritics