我试图将excel表导入到r中。我使用了以下代码:
x <- loadWorkbook("x.xlsx")
b <- readWorksheet(x, sheet="b")但是,第一行工作正常,但是运行第二行会出现以下错误:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘readWorksheet’ for signature ‘"jobjRef", "character"’我在那张纸上没有遗漏的值。
为了进行复制,请从trial.xlsx下载https://github.com/ahmedfsalhin/1stpaper。
系统信息:约塞米蒂操作系统。
发布于 2014-10-28 11:32:05
看起来,“根本原因”是您应该添加代码来指定函数和它所属的包。键入XLConnect::loadWorkbook以选择本例中所需的那个。在R中不存在“混淆”或重复函数名的随机选择。选择取决于所有加载包的加载顺序。使用search()查看为您输入的命令检查包的顺序。
例如,目前我得到
search()
[1] ".GlobalEnv" "package:caTools"
[3] "package:XLConnect" "package:XLConnectJars"
[5] "package:stats" "package:graphics"
[7] "package:datasets" "package:vecsets"
[9] "package:cgwtools" "package:grDevices"
[11] "package:utils" "package:methods"
[13] "Autoloads" "package:base"您会注意到,首先选择了环境中的任何内容(.GlobalEnv),例如,所有加载的库都会覆盖base包。
发布于 2015-04-09 03:05:00
经过大量的斗争找到了解决这个问题的方法。在related中,转到包并删除与XLConnect和xlsx相关的所有包。然后只安装XLConnect包,方法是
install.packages("XLConnect",dependencies=TRUE)
在此之后,这个问题就不存在了。
发布于 2015-11-14 19:52:00
在测试将.xlsx文件加载到R的三个不同包(XLConnect、xlsx、gdata)时,我也遇到了同样的问题。解决方案是为loadWorkbook指定名称空间。
d3_wb = XLConnect::loadWorkbook("Megadataset_v3.xlsx")
d3 = readWorksheet(d3_wb, 1)然后,不管是否加载/安装了xlsx,它都能工作。这个错误是因为xlsx中还有一个同名的函数,它默认使用错误的函数,这取决于加载包的顺序。
https://stackoverflow.com/questions/26587659
复制相似问题