我能够将 Excel 电子表格导入 RStudio 并在工作时对其进行处理,因此我决定通过电子邮件将同一份电子表格发送给自己,并在家中对其进行处理。当我下载 Excel 文件并尝试将其导入家中的 RStudio 环境时,我收到以下错误消息:
“这是一个有效的 Excel 文件吗?没有名为‘pkgconfig’的包”
我尝试全新安装 R 和 RStudio,简单安装 pkgconfig,并更新尽可能多的包,但仍然收到此错误消息。
我还尝试将 Excel 文件转换为 .csv,但收到了类似的错误消息“没有名为‘pkgconfig’的包”。
尝试此代码:
图书馆(readxl)
FinancialSpreadsheet <- read_excel(“FinancialSpreadsheet.xlsx”)
我收到:
loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 中出错:没有名为“pkgconfig”的包
我感觉我可能忽略了一些显而易见的事情,因为我对这种语言和软件还不太熟悉。感谢您的帮助。
答案1
这实际上回答了我的问题!显然,R 将包存储在与它要从中拉取包的位置不同的地方。
答案2
- 部分问题是未安装 pkgconfig
- 此外,在 Windows 中,当前目录经常发生变化,因此永远不应依赖它。您可以使用 if 语句结合 file.exists(fileNamePath) 之类的语句来执行测试。
- read_excel 需要设置的参数路径应该指向一个文件名路径
例子
....
#install up required packages
install.packages("pkgconfig")
install.packages("Rcpp")
install.packages("readxl")
#load up required packages
library(pkgconfig)
library(Rcpp)
library(readxl)
#load up an excel spreadsheet into a variable object called datasets
filePath <- "C:/.../extdata/evaluation/"
fileName <- 'GPW Detailed Tables March 2019 - STP.xlsx'
fileNamePath <- paste0(filePath, fileName)
#TEST FILE is where you think it is
file.exists(fileNamePath)
#read_excel(datasets)
#FinancialSpreadsheet <- read_excel("FinancialSpreadsheet.xlsx")
#return data into a tibble Data Frame
datasets <- read_xlsx(path = fileNamePath,
sheet = '1a',
range = "D18:L26")
#return data result to the terminal screen
read_excel(path = fileNamePath,
sheet = '1a',
range = "D18:L26")
....
使用我的盒子上的电子表格的示例 O/P
....
> fileNamePath <- paste0(filePath, fileName)
> file.exists(fileNamePath)
[1] TRUE
> datasets <- read_xlsx(path = fileNamePath,
+ sheet = '1a',
+ range = "D18:L26")
New names:
* `` -> ...2
* `` -> ...3
>
> read_excel(path = fileNamePath,
+ sheet = '1a',
+ range = "D18:L26")
New names:
* `` -> ...2
* `` -> ...3
# A tibble: 8 x 9
`Lancashire and South C~ ...2 ...3 `1263` `689` `255` `8` `185` `145`
<chr> <lgl> <chr> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
1 00Q NA NHS Blackburn wit~ 110 65 19 - 11 16
2 00R NA NHS Blackpool CCG 97 56 16 1 17 8
3 00X NA NHS Chorley and S~ 125 59 33 1 18 14
4 01A NA NHS East Lancashi~ 313 153 61 2 41 63
5 01E NA NHS Greater Prest~ 148 68 35 2 32 13
6 01K NA NHS Morecambe Bay~ 279 176 60 2 34 8
7 02G NA NHS West Lancashi~ 72 42 10 - 8 13
8 02M NA NHS Fylde and Wyr~ 130 71 23 - 24 13
>
....