Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何修复“;未提供编码”;错误?_R_Export_Rstudio - Fatal编程技术网

R 如何修复“;未提供编码”;错误?

R 如何修复“;未提供编码”;错误?,r,export,rstudio,R,Export,Rstudio,在运行代码并尝试将数据集导出到电子表格或txt.file后,我遇到了一些困难。 我是R的新手,所以这个问题可能很简单 运行以下代码后: eia_series <- function(api_key, series_id, start = NULL, end = NULL, num = NULL, tidy_data = "no", only_data = FALSE){ # max 100 series # test if num is not null and either st

在运行代码并尝试将数据集导出到电子表格或txt.file后,我遇到了一些困难。 我是R的新手,所以这个问题可能很简单

运行以下代码后:

eia_series <- function(api_key, series_id, start = NULL, end = NULL, num = NULL, tidy_data = "no", only_data = FALSE){
  # max 100 series
  # test if num is not null and either start or end is nut null. Not allowed
  # api_key test for character.
  # series_id test for character.
  # if start/end not null, then check if format matches series id date format
  # parse date and numerical data

  # parse url
  series_url <- httr::parse_url("http://api.eia.gov/series/")
  series_url$query$series_id <- paste(series_id, collapse = ";")
  series_url$query$api_key <- api_key
  series_url$query$start <- start
  series_url$query$end <- end
  series_url$query$num <- num

  # get data
  series_data <- httr::GET(url = series_url)
  series_data <- httr::content(series_data, as = "text")
  series_data <- jsonlite::fromJSON(series_data)

  # Move data from data.frame with nested list and NULL excisting
  series_data$data <- series_data$series$data
  series_data$series$data <- NULL

  # parse data
  series_data$data <- lapply(X = series_data$data, 
                         FUN = function(x) data.frame(date = x[, 1], 
                                                      value = as.numeric(x[, 2]), 
                                                      stringsAsFactors = FALSE))

  # add names to the list with data
  names(series_data$data) <- series_data$data

  # parse dates
  series_data$data <- eia_date_parse(series_list = series_data$data, format_character = series_data$series$f)

  # tidy up data
  if(tidy_data == "tidy_long"){

    series_data$data <- lapply(seq_along(series_data$data), 
                           function(x) {cbind(series_data$data[[x]], 
                                              series_time_frame = series_data$series$f[x],
                                              series_name = series_data$series$series_id[x], 
                                              stringsAsFactors = FALSE)})
series_data$data <- do.call(rbind, series_data$data)
  } 

  # only data
  if(only_data){
    series_data <- series_data$data
  }

  return(series_data)
}
我试图“传输”数据以导出数据,但出现以下错误:

未提供编码:默认为UTF-8


我不明白为什么。你能帮我一下吗?

这看起来不像是一个错误,而是一个陈述。可能来自
httr::content(series\u data,as=“text”)
。查看主体部分。只要您的数据返回您所期望的内容,这应该不是问题。否则,您可以尝试不同的编码,或者其他地方有错误。

尝试:


series\u数据您没有在
content
中指定要分析的文件的编码。检查
?content
…是的,但即使是文本,我也无法使用函数“fwrite”或“write.table”导出。您可以发布测试变量的内容吗?实际上它包含数据(如下所示),但我无法导出该数据<代码>>测试
[1]“系列”
1 PET.MCRFPOK1.M俄克拉荷马油田原油生产,每月俄克拉荷马州千桶百万桶原油产量
来源iso3166地理起止点更新
1 EIA,美国能源信息管理局USA-OK USA-OK 198101 201612 2017-02-28T14:42:25-0500
2 EIA,美国能源信息管理局USA-OK USA OK``198101 201612 2017-02-28T14:42:25-0500
$data
$data$…
httr
返回带有请求、数据和其他字段的
列表。您应该能够通过访问
test$data
或类似内容来提取所需字段。如果还有其他问题,请告诉我们。对不起,如果我说的是显而易见的:)哇……对不起@Lukášhejtmaánek,我是R的新手。但非常感谢!:)这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-参数encoding=“UTF-8”提供了编码,并且不会打印“error”/语句。
eia_series(api_key = "XXX",series_id = c("PET.MCRFPOK1.M", "PET.MCRFPOK2.M"))