R library eurostat:Windows和Linux / Mac RStudio上的不同行为

时间:2015-11-03 15:17:37

标签: r rstudio

在Windows和Linux / Mac RStudio上有不同的R eurostat库输出。

当Linux / Mac将变量下载为文本(因子)时,Windows仅返回因子id为整数。

请试用此代码:

library(eurostat)
dat <- get_eurostat("tsdtr210")
head(dat)
str(dat)

这是Linux / Mac RStudio上的结果:

> dat <- get_eurostat("tsdtr210")
> head(dat)
  unit vehicle geo       time values
1   PC BUS_TOT  AT 1990-01-01   11.0
2   PC BUS_TOT  BE 1990-01-01   10.6
3   PC BUS_TOT  BG 1990-01-01     NA
4   PC BUS_TOT  CH 1990-01-01    3.7
5   PC BUS_TOT  CY 1990-01-01     NA
6   PC BUS_TOT  CZ 1990-01-01     NA
> str(dat)
'data.frame':   2520 obs. of  5 variables:
 $ unit   : Factor w/ 1 level "PC": 1 1 1 1 1 1 1 1 1 1 ...
 $ vehicle: Factor w/ 3 levels "BUS_TOT","CAR",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ geo    : Factor w/ 35 levels "AT","BE","BG",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ time   : Date, format: "1990-01-01" "1990-01-01" "1990-01-01" "1990-01-01" ...
 $ values : num  11 10.6 NA 3.7 NA NA 9.1 11.3 NA 32.4 ...

Windows RStudio返回此结果:

> dat <- get_eurostat("tsdtr210")
> head(dat)
  unit vehicle geo       time values
1    1       1   1 1990-01-01   11.0
2    1       1   2 1990-01-01   10.6
3    1       1   3 1990-01-01     NA
4    1       1   4 1990-01-01    3.7
5    1       1   5 1990-01-01     NA
6    1       1   6 1990-01-01     NA
> str(dat)
'data.frame':   2520 obs. of  5 variables:
 $ unit   : int  1 1 1 1 1 1 1 1 1 1 ...
 $ vehicle: int  1 1 1 1 1 1 1 1 1 1 ...
 $ geo    : int  1 2 3 4 5 6 7 8 9 10 ...
 $ time   : Date, format: "1990-01-01" "1990-01-01" "1990-01-01" "1990-01-01" ...
 $ values : num  11 10.6 NA 3.7 NA NA 9.1 11.3 NA 32.4 ...

您知道如何在Windows上更改它吗?

1 个答案:

答案 0 :(得分:0)

解决方案:从github安装开发版本:

library(devtools)
install_github("ropengov/eurostat")

函数get_eurostat()包含stringsAsFactors = default.stringsAsFactors()参数,现在可以正常工作。