访问R包中的子目录

use*_*657 4 directory r list package

我在R包中有一个数据文件夹.在数据目录中我有一个子目录data/JE.我想访问此目录并应用list.file函数,然后使用我想要读取每个文件的列表.不运行包时我可以setwd().但是当程序包运行时我不知道如何访问该目录.

     JESP = system.file("data/JE",package="DNA_test")
     listoffiles <- list.files(path=JESP)
Run Code Online (Sandbox Code Playgroud)

要访问pacakg中的文件,我使用system.file函数.但我不知道如何访问目录并从中读取文件.我在循环中使用以下语句来阅读

     check <- as.matrix(read.csv(file=listoffiles[j],sep=",",header=FALSE))
Run Code Online (Sandbox Code Playgroud)

42-*_*42- 5

您应该能够修改它以满足您的需求:

> packagePath <- find.package("survival", lib.loc=NULL, quiet = TRUE)
> packagePath
[1] "/Library/Frameworks/R.framework/Versions/3.0/Resources/library/survival"

> list.files(packagePath)
 [1] "CITATION"    "data"        "DESCRIPTION" "doc"         "help"        "html"       
 [7] "INDEX"       "libs"        "Meta"        "NAMESPACE"   "NEWS.Rd"     "R"          
> list.files(paste0(packagePath, "/data") )
[1] "Rdata.rdb" "Rdata.rds" "Rdata.rdx"
Run Code Online (Sandbox Code Playgroud)

如果您需要进一步了解其system.file工作原理,请输入

system.file 
Run Code Online (Sandbox Code Playgroud)