## function to find offspring
offspring <- function(path, user.data=NULL) {
if(length(path) > 0)
directory <- paste(getwd(),"/",paste(path,sep="/", collapse=""),sep="",collapse="")
else
directory <- getwd()
files <- file.info(dir(path=directory))[,c(2,1,3)]
files <- cbind(rownames(files), files)
names(files)[1] <- "filename"
return(files)
}
hasOffspring <- function(children,user.data=NULL, ...) {
return(children$isdir)
}
icon.FUN <- function(children,user.data=NULL, ...) {
x <- rep("file", length=nrow(children))
x[children$isdir] <- "directory"
return(x)
}
## shows isdir directory, as hasOffspring is specified
gtree(offspring, hasOffspring, icon.FUN = icon.FUN, container=TRUE)
## does not show isdir directory, as hasOffspring=NULL and
## second column is a logical
gtree(offspring, hasOffspring=NULL, icon.FUN = icon.FUN, container=TRUE)
Run the code above in your browser using DataLab