我想在我编写的Twitter
包中添加一个示例数据集(metadata
推文和R
)。
我使用Twitter API
下载了一个示例data.frame,并将其保存为.RData
(带有相应的。R
数据描述文件)。
当我运行R CMD
检查时,我会收到以下注意事项,
* checking data for non-ASCII characters ... NOTE
Note: found 287 marked UTF-8 strings
我尝试使用data.frame
保存ASCII=TRUE
,希望这可以解决问题。但它仍然存在。关于如何让R CMD
CHECK在没有笔记的情况下运行的任何想法?
(另外,如果这是解决方案的话,我愿意从示例数据中删除所有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>
statusSource screenName retweetCount isRetweet retweeted
1 <a href="http://foursquare.com" rel="nofollow">Foursquare</a> my_name93 0 FALSE FALSE
longitude latitude
1 -122.38100052 37.61865062
答案 0 :(得分:5)
如果它对将来的任何人都有用,我发现的解决方案是:
UTF-8标记的字符在数据集中,因为Twitter推文有时包括表情符号。
我给出的建议是,没有一种简单的方法可以摆脱PACKAGE CMD CHECK中的NOTE而不只是删除所有UTF-8标记的字符串。
为此,我使用了命令:
nonUTF&lt; - iconv(df$TroubleVector, from="UTF-8", to="ASCII")
在具有表情符号等的矢量上。如果该值具有UTF-8标记的字符串,则此命令返回NA。我用它来对数据集进行子集化 - 现在我得到了一个干净的构建。
答案 1 :(得分:0)
我遇到了同样的问题,另一个快速的解决方案是将整个脚本复制/粘贴到here这样的站点中,然后将代码的ascii版本粘贴到旧版本(utf-8)的上方代码
答案 2 :(得分:0)
stringi::stri_enc_toascii()
包中的 stringi
解决了我在包开发中的问题。
> stringi::stri_enc_isascii(a)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[18] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[35] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[52] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[69] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[86] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[103] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[120] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[137] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[154] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> b <- stringi::stri_enc_toascii(a)
There were 50 or more warnings (use warnings() to see the first 50)
> stringi::stri_enc_isascii(b)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[22] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[43] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[64] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[85] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[127] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[148] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE