我正在尝试使用R的<_p>的read_csv()来读取csv文件
library(readr)
data <- read_csv("data/tmp.csv")
tmp.csv如下。
"A", "B", "C", "D", "E", "F", "G", "H", "I"
1,5,2015-07-31,5263,555,1,1,"0","1"
2,5,2015-07-31,6064,625,1,1,"0","1"
3,5,2015-07-31,8314,821,1,1,"0","1"
4,5,2015-07-31,13995,1498,1,1,"0","1"
5,5,2015-07-31,4822,559,1,1,"0","1"
6,5,2015-07-31,5651,589,1,1,"0","1"
7,5,2015-07-31,15344,1414,1,1,"0","1"
8,5,2015-07-31,8492,833,1,1,"0","1"
9,5,2015-07-31,8565,687,1,1,"0","1"
但它会产生以下错误。
Error in match(x, table, nomatch = 0L) :
could not find function "OlsonNames"
如何解决此错误?我用谷歌搜索了错误,但没有找到任何相关的解决方案。
经过一番挖掘后,出现同样的错误:
> locale()
Error in match(x, table, nomatch = 0L) :
could not find function "OlsonNames"
这似乎是与https://stat.ethz.ch/R-manual/R-devel/library/base/html/timezones.html
相关的错误重新启动R会话无效。
我该如何解决错误?我需要安装一些包吗?如果是这样,哪个?
答案 0 :(得分:3)
更新R似乎可以解决问题。
要更新到 R 3.2.2 for Ubuntu 14.04 (仅适用于Ubuntu 14.04 Trusty ,如果您不使用14.04,请正确更新deb软件包):< / p>
sudo echo 'deb http://cran.es.r-project.org/bin/linux/ubuntu trusty/' >> /etc/apt/sources.list
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
(更新说明来自:http://ubuntuforums.org/showthread.php?t=2264580) 然后在最新版本的R:
> install.packages('readr')
> library(readr)
> locale()
<locale>
Numbers: 123,456.78
Formats: %Y%.%m%.%d / %H:%M
Timezone: UTC
Encoding: UTF-8
<date_names>
Days: Sunday (Sun), Monday (Mon), Tuesday (Tue), Wednesday (Wed), Thursday
(Thu), Friday (Fri), Saturday (Sat)
Months: January (Jan), February (Feb), March (Mar), April (Apr), May (May),
June (Jun), July (Jul), August (Aug), September (Sep), October
(Oct), November (Nov), December (Dec)
AM/PM: AM/PM
现在加载read_csv
的工作没有OlsonNames
错误。
在更新我的R之前,这是我的R版本:
> version
_
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 0.2
year 2013
month 09
day 25
svn rev 63987
language R
version.string R version 3.0.2 (2013-09-25)
nickname Frisbee Sailing
答案 1 :(得分:3)
假设包Pkg
有一个函数Foo
。
当您看到如下消息时:
Could not find function Foo
这意味着Pkg
尚未成功加载(即通过library/require
命令)。或者如果您的包正确需要Pkg
(在这种情况下为readr
)可能是Pkg
未安装,或者您的R安装以某种方式被破坏。这就是为什么更新/升级甚至重启计算机可能会有所帮助。
在这种情况下,函数OlsonNames
(尝试在R控制台中输入:??OlsonNames
)是base::Sys.timezone
函数的别名。因为它属于基本软件包,当然已经安装了,所以R安装可能会发生奇怪的事情。然后,重新启动或更新/升级R的新R会话可能会有所帮助。
<强>加成:强> 许多人经常忽视这一点,这是R开发人员自己提供的一种简单方法在Linux上获取最新版本的R :
从这里选择您附近的镜子: https://cran.r-project.org/mirrors.html 例如,我在丹麦选择一个镜像,然后阅读README。 http://mirrors.dotsrc.org/cran/bin/linux/ubuntu/README.html
我还非常乐意使用installr
软件包在Windows上维护R安装。 Github:https://github.com/talgalili/installr/