gtrendsR-make.names(col.names,unique=TRUE)中出错:无效的多字节字符串1

gtrendsR-make.names(col.names,unique=TRUE)中出错:无效的多字节字符串1,r,gtrendsr,R,Gtrendsr,我试图使用gtrendsR包运行一个简单的命令,但它在make.names(col.names,unique=TRUE)中给了我一个错误,即error: 无效的多字节字符串1 代码如下: res <- gtrends(c("nhl", "nba"), geo = c("CA", "US")) res 如果错误是由于不同的语言设置造成的,那么它应该适合您 但是,如果您想用其他语言而不是英语(例如,我用中文)搜索关键字,那么另一个问题是检索到的数据中的关键字可能会被编码。我的技巧是简单地将L

我试图使用gtrendsR包运行一个简单的命令,但它在make.names(col.names,unique=TRUE)中给了我一个错误,即error: 无效的多字节字符串1

代码如下:

res <- gtrends(c("nhl", "nba"), geo = c("CA", "US"))
res
如果错误是由于不同的语言设置造成的,那么它应该适合您

但是,如果您想用其他语言而不是英语(例如,我用中文)搜索关键字,那么另一个问题是检索到的数据中的关键字可能会被编码。我的技巧是简单地将LC_CTYPE重置为原始设置

Sys.setlocale("LC_CTYPE", "Chinese (Traditional)")

对于像我这样有困难的人

即使有些关键词工作得很好,有些关键词却不行。我不知道

区别在于什么

出现了一些关键字
[make.names(col.names,unique=TRUE)中的错误:无效的多字节字符串]
probelm

我尝试了很多东西,但都不管用

我尝试过但没有成功的事情

  • read.csv(~,fileEncoding=“UTF-8”)和(~~encoding=“UTF-8”)
  • 在记事本中重新保存文件
  • Encoding()
  • 解决方案

    首先,我使用“韩语”并使用Windows10,我所有的CSV文件都编码为(ASCII)

    如果我重新编码原始CSV文件,则在读取文件步骤中会出现问题

    结论

    上面,
    Sys.setlocale()
    是我的情况下唯一的解决方案,但有一些限制

    通过
    Sys.getlocale()`,您可以找到自己的
    Sys.locale

    就我而言

    ["LC_COLLATE=Korean_Korea.949;LC_CTYPE=Korean_Korea.949;LC_MONETARY=Korean_Korea.949;LC_NUMERIC=C;LC_TIME=Korean_Korea.949"]
    
    因此,我将区域设置更改为
    Sys.setlocale(“LC\u CTYPE”,“English”)

    限制

    即使“geo”是正确的,“相关主题”的结果也是值得怀疑的,因为相关主题是翻译的

    下面是我的代码

    google.trends = gtrends(keyword = key_final, geo = "KR", gprop = "web", time = "2018-01-01 2018-11-30")[[1]]
    google.trends = dcast(google.trends, date ~ keyword + geo, value.var = "hits")
    rownames(google.trends) = google.trends$date
    google.trends$date = NULL
    google.trends
    plot(google.trends[[1]], type = 'l')
    

    但结果是可以翻译的


    这对我来说很好,您使用的是什么版本的grtrendsR?你能确保它是最新的吗?@pluke我使用的是gtrendsR版本1.4.1和r3.4.4
    google.trends = gtrends(keyword = key_final, geo = "KR", gprop = "web", time = "2018-01-01 2018-11-30")[[1]]
    google.trends = dcast(google.trends, date ~ keyword + geo, value.var = "hits")
    rownames(google.trends) = google.trends$date
    google.trends$date = NULL
    google.trends
    plot(google.trends[[1]], type = 'l')