如何处理:错误:找不到函数“read_csv”

5

我安装了readr包并尝试在Rstudio中上传一个.csv文件。但是当我尝试加载这个包时,出现了以下错误:

> library(readr)
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), 
versionCheck   = vI[[j]]) : there is no package called ‘hms’ In addition:
Warning message: Paket ‘readr’ wurde unter R Version 3.2.5 erstellt 
Error: Laden von Paket oder Namensraum für ‘readr’ fehlgeschlagen

当我在R中尝试上传.csv文件时,我会收到以下错误提示:

> dataX<-read_csv("file.csv")
 Error: could not find function "read_csv"
< p > sessionInfo() 的结果是:

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

 loaded via a namespace (and not attached):
 [1] colorspace_1.3-2 scales_0.4.1     R6_2.2.2   lazyeval_0.2.0            plyr_1.8.4      
 [6] tools_3.2.2      gtable_0.2.0     tibble_1.3.0     Rcpp_0.12.10      ggplot2_2.2.1   
 [11] grid_3.2.2       munsell_0.4.3   

我很感激你的帮助。谢谢。


包没有加载,因此 read_csv 函数不在您的环境中。看起来包加载失败是因为缺少依赖项 hms,因此请尝试安装 hms 是否可以解决问题。 - cmaher
1
什么错误,你能提供你的sessioninfo()吗? - Technophobe01
@Technophobe01。我在问题的编辑中放置了 sessionInfo() 的结果。 - user249018
@cmaher。我按照你的建议去做了,但是出现了一个新的错误提示:ERROR: dependency 'rlang' is not available for package 'hms' Warning in install.packages : installation of package ‘hms’ had non-zero exit status - user249018
@user249018 - 根据您的R版本3.2.2和您尝试安装的软件包,我建议您先将R升级到更新的版本。例如R版本3.4.4。这可能是一个影响因素。请参阅有关Windows软件包设置的答案中的注释。 - Technophobe01
3个回答

5

好的,我在Windows上成功重现了这个问题。如何以及为什么?

解决方法 - 安装R3.4.4

如何安装

为什么要安装R3.4.4?

这里的问题(看起来)是readr和TidyVerse包需要比R3.2.2和你所拥有的Windows Rtools更晚的版本。 我通过安装R3.2.2和RTools3.2并尝试安装readr来重现所描述的问题。

在安装R3.4.4时,我没有遇到错误。

关于在Windows上升级R的背景:

你可以在Windows上安装多个版本的R(基础环境)和R Tools(开发环境)。我个人建议是先卸载R,安装新版本的R,然后安装最新的R Tools,并按照Windows faq下面的操作复制库。

2.8 如何升级?

这是一个个人喜好问题。 对于大多数人来说,最好的方法是卸载R(参见上一个问题),安装新版本,将已安装的程序包复制到新安装的库文件夹中,在新的R中运行update.packages(checkBuilt=TRUE, ask=FALSE),然后删除旧安装的所有内容。不同版本的R被有意地安装在并行文件夹中,因此如果您希望,可以保留旧版本。

对于那些使用个人库(文件夹R\win-library\x.y位于您的主目录下,64位版本中为R\win64-library\x.y)的人,当R的小版本发生更改(例如从3.0.2更改为3.1.0)时,您也需要更新该库。一种简单的方法是在运行update.packages(checkBuilt=TRUE, ask=FALSE)之前将R\win-library\3.0复制到R\win-library\3.1


谢谢。我应该先升级 R 还是按照您建议的其他步骤进行?我从未升级过软件,所以不想犯错误。 - user249018
我已完成第一步。选项1称为:“0-Cloud [https]”,而选项35称为“德国(Göttingen)[https]”。由于我在德国,所以我是否应该将其设置为1而不是35? - user249018
我按照您的建议去做了,但是问题仍然存在。 - user249018
非常感谢您的努力。为了解决这个问题,我应该先安装R3.4.4,然后卸载旧版本,还是应该使用installr包升级旧版本,然后使用命令updataR() - user249018
这有点过头了,我想。请看下面我的回答。 - Bex T.
显示剩余4条评论

0

我也遇到了类似的问题,而对于我来说重新安装“tidyverse”包解决了这个问题,尽管我已经在R的3.4.4版本上。


-1
对我来说,将 tidyverse 加载到环境中就可以了。同时加载 tidyverse 和 dplyr。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接