Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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/0/jpa/2.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 - Fatal编程技术网

在R中格式化数字

在R中格式化数字,r,R,我正在尝试使用数据来编写URL,并从网站上获取数据。 我的函数位于github: 它适用于小数字,但不适用于大数字: > inflation(input = 4000, input.currency = "Euro", input.year = 2004, output.currency = "Euro", output.year = 2012) http://www.insee.fr/fr/themes/calcul-pouvoir-achat.asp?sommeDepart=4000&

我正在尝试使用数据来编写URL,并从网站上获取数据。 我的函数位于github:

它适用于小数字,但不适用于大数字:

> inflation(input = 4000, input.currency = "Euro", input.year = 2004, output.currency = "Euro", output.year = 2012)
http://www.insee.fr/fr/themes/calcul-pouvoir-achat.asp?sommeDepart=4000&deviseDepart=Euro&anneeDepart=2004&deviseArrivee=Euro&anneeArrivee=2012
[1] 4569.57
> inflation(input = 400000, input.currency = "Euro", input.year = 2004, output.currency = "Euro", output.year = 2012)
ERROR 
http://www.insee.fr/fr/themes/calcul-pouvoir-achat.asp?sommeDepart=4e+05&deviseDepart=Euro&anneeDepart=2004&deviseArrivee=Euro&anneeArrivee=2012
[1] NA
原因是R在4e+06中转换了400000个,并且没有写出好的URL。如何强制R写入400000而不是4e+06?

使用
选项(scipen=)


谢谢你的解决方案。您的解决方案是否与格式(输入,scientific=FALSE)不同?如果您只输入一次,这种格式也应该有效,而且可能更容易。
inflation <- function(input, input.currency, input.year, output.currency, output.year) {
  oldscipen <- options('scipen')$scipen
  options(scipen = 999)

  require("RCurl")
  tx <- getURL(paste("http://www.insee.fr/fr/themes/calcul-pouvoir-achat.asp?sommeDepart=",input, "&deviseDepart=",input.currency,"&anneeDepart=",input.year, "&deviseArrivee=",output.currency, "&anneeArrivee=",output.year, sep = ""))
  patrick <- ".*<strong class=\"resultat\">([[:digit:][:blank:],]+)[[:blank:]eurosfracin]+</strong>.*"
  if (grepl(pattern = patrick, x = tx) == TRUE){
    out <- sub(pattern = patrick , replacement = "\\1", x = tx)
    out <- as.numeric(gsub( pattern = "[[:blank:]]", replacement = "", x = gsub(pattern = ",", replacement = ".", x = out)))
    }
  else {
    cat("ERROR \n")
    out <- NA
    }
  options(scipen = oldscipen)

  return(out)
  }
> inflation(input = 4000, input.currency = "Euro", input.year = 2004, output.currency = "Euro", output.year = 2012)
Loading required package: RCurl
Loading required package: bitops
[1] 4569.57
> 
> inflation(input = 400000, input.currency = "Euro", input.year = 2004, output.currency = "Euro", output.year = 2012)

[1] 456956.5