Nothing
"packageAdd" <-
function(pkg, files, path = ".", document = TRUE) {
## utility to find the package's env on the search list
findPkg <- function(pkg) {
ev = .GlobalEnv
pkgName <- paste("package", pkg, sep=":")
while(!is.null(ev)) {
ev = parent.env(ev)
if(identical(pkgName, attr(ev, "name")))
break
}
ev
}
evPkg <- findPkg(pkg)
if(is.null(evPkg)) {
require(pkg, character.only = TRUE)
evPkg <- findPkg(pkg)
if(is.null(evPkg))
stop("Package \"", pkg,
"\" should be available when packageAdd() is called")
}
topenvPrev <- options("topLevelEnvironment")
on.exit(options(topenvPrev))
for(file in files) {
ev = new.env(parent = evPkg)
## simulate the package name as inserted by library()
## Needed for classs, method definitions but much too low-level
## to be exposed to poor programmers. Oh well!
assign(".packageName", pkg, envir = ev)
## arrange for default topenv() to go to this ev
options(topLevelEnvironment = ev)
exprs <- parse(file)
eval(exprs, envir = ev)
sourceFile = basename(file)
manDir = file.path(path, pkg, "man")
what <- objects(ev, all.names=TRUE)
if(document) {
docCommon <- character() # objects documented together
for(name in what) {
obj <- get(name, envir = ev)
if(is(obj, "MethodsList")) {
fName <- metaNameUndo(name)
packageSlot(fName) <- pkg
fileName <- file.path(manDir, paste(.topicName("methods",fName),"Rd",sep="."))
promptMethods(fName, fileName, obj)
}
else if(is(obj, "classRepresentation")) {
clName <- as.character(metaNameUndo(name, "C"))
fileName <- file.path(manDir, paste(.topicName("class",clName),"Rd",sep="."))
promptClass(clName, fileName, where = ev)
}
else
docCommon <- c(docCommon, name)
}
if(length(docCommon)) {
fileName <- file.path(manDir, paste(docCommon[[1]], "Rd", sep="."))
promptAll(docCommon, fileName)
}
}
sourceCopyFile <- file.path(path, pkg, "R", sourceFile)
file.copy(file, sourceCopyFile)
message("Copied file ", file, " to ", sourceCopyFile)
}
}
.topicName <- function(type, what)
paste(what, type, sep="-")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.