eurostat包设置cache=TRUE无法生成.RDS缓存文件求助
问题
我通常用CRAN上的eurostat包的get_eurostat()函数批量下载Eurostat数据集,之前功能正常,但最近即使设置cache = TRUE参数,也不会把数据集保存为.RDS文件。
代码如下:
# install.packages("eurostat") library(eurostat) datasets <- c("demo_fordagec") for (i in datasets) { temp <- get_eurostat (i, cache = TRUE, update_cache = TRUE, cache dir = "c: /users/ropia/oneDrive/Dokumenty") }
上述代码能正常生成temp数据框,但指定的缓存路径下不会生成.RDS文件,换目标文件夹也没用。我的R版本是4.2.3,eurostat包已更新到最新版本,请问可能的原因是什么?
可能的原因及解决办法
- 参数拼写错误:代码里的
cache dir是错误写法,正确参数名是cache_dir(下划线连接),这是缓存路径不生效的直接原因。修正后函数才能识别参数,往指定路径写入缓存文件。 - 路径格式错误:你的路径
c: /users/ropia/oneDrive/Dokumenty里,c:后面多了空格,应该改成c:/users/ropia/oneDrive/Dokumenty。R的文件路径里多余空格会导致解析失败,无法定位目标文件夹。 - OneDrive路径权限/同步限制:OneDrive文件夹可能有实时同步限制,或者当前R进程没有写入该路径的权限。可以先尝试把缓存路径改成本地非同步文件夹(比如
C:/temp/eurostat_cache),测试是否能生成.RDS文件。 - eurostat包缓存机制更新:最新版本的eurostat包可能调整了缓存的命名规则或存储结构,缓存文件可能不是直接以数据集名称命名的.RDS文件,而是放在子文件夹里。你可以检查默认缓存路径(通常是
~/.cache/eurostat)是否有新增文件,确认缓存是否实际生效。 update_cache参数逻辑问题:当update_cache = TRUE时,函数会强制重新下载数据并覆盖缓存,但如果参数拼写错误导致路径未被识别,就不会写入指定位置。修正参数后,若目标路径已有同名缓存文件,update_cache = TRUE会覆盖它。
内容的提问来源于stack exchange,提问作者rideofyourlife
相关产品推荐
相关产品推荐

