我正在调查字符编码如何影响排序.我的问题是:
如何将数据框的单个列更改为不同的字符编码?
对于上下文,我将在底部包含几个额外的步骤.
1)创建数据框:
d.enc <- data.frame( utf8 = c(" ", "_ ", " _"),
mac = c(" ", "_ ", " _"),
label = c("space", "underscore space", "space underscore") )
Run Code Online (Sandbox Code Playgroud)
2)转换为字符向量并尝试设置编码:
d.enc2$utf8 <- as.character(d.enc$utf8)
d.enc2$mac <- as.character(d.enc$mac)
d.enc2$label <- as.character(d.enc$label)
Encoding(d.enc2$utf8) <- "UTF-8"
Encoding(d.enc2$mac) <- "MACINTOSH"
Encoding(d.enc2$utf8)
# [1] "unknown" "unknown" "unknown"
Encoding(d.enc2$mac)
# [1] "unknown" "unknown" "unknown"
Run Code Online (Sandbox Code Playgroud)
3)那不是我所希望的.我原以为:
# [1] "UTF-8" "UTF-8" "UTF-8" and
# [1] "MACINTOSH" "MACINTOSH" "MACINTOSH"
Run Code Online (Sandbox Code Playgroud)
4)我支持我想要的编码吗?(在mac上运行)
temp <- iconvlist()
temp[399]
# [1] "UTF-8"
temp[338] …Run Code Online (Sandbox Code Playgroud) 我想在我正在编写的包中包含一个示例数据集(Twitter推文和metadata)R.
我使用Twitter API它下载了一个示例data.frame,并将其保存为我的包中的.RData(带有相应的.R数据描述文件).
当我运行R CMDCheck时,我得到以下注意,
* checking data for non-ASCII characters ... NOTE
Note: found 287 marked UTF-8 strings
Run Code Online (Sandbox Code Playgroud)
我试图保存data.frame有ASCII=TRUE,希望这将解决这个问题.但它仍然存在.有关如何让R CMDCHECK在没有音符的情况下运行的任何想法?
(另外,UTF-8如果这是解决方案,我愿意从示例数据中删除所有标记的字符串).谢谢!
data.frame中的示例行:
First time in SF (@ San Francisco International Airport (SFO) - @flysfo in San Francisco, CA) https://t.co/1245xqxtwesr
favorited favoriteCount replyToSN created truncated replyToSID id replyToUID
1 FALSE 0 <NA> 2015-03-13 23:30:35 FALSE <NA> 576525795927179264 <NA> …Run Code Online (Sandbox Code Playgroud)