#' Finds and returns data frame
#'
#' @return
#' @export
#'
#'
getDataFrame <- function(data) {
again <- TRUE
if(hasArg(data)) {
return <- data
again <- FALSE
}
while(again) {
again <- FALSE
found <- FALSE
object <- objects(pos = .GlobalEnv)[unlist(lapply(objects(pos = .GlobalEnv), FUN = function(x) {!is.function(eval(parse(text = x)))}))]
if(length(object) <= 1) {
stop("There's literally nothing.")
}
while(!found) {
#Initial list of objects
if(length(object) > 1) {
x <- 0
while(!x %in% 1:length(object)) {
entries <- object
names(entries) <- 1:length(entries)
print(entries)
x <- as.numeric(readline("Choose an object by number: "))
}
object <- object[x]
}
#Investigating object
else if(length(object) == 1) {
#If list
if(class(eval(parse(text = object)))[1] == "list") {
if(length(eval(parse(text = object))) > 0) {
message("")
message("List entries: ")
entries <- names(eval(parse(text = object)))
names(entries) <- 1:length(entries)
print(entries)
x <- 0
while(!x %in% 1:length(eval(parse(text = object)))) {
x <- as.numeric(readline("Choose list entry by number: "))
}
object <- paste(object, "[[", x, "]]", sep = "")
}
else {
message("There's nothing here. Try again!")
found <- TRUE
again <- TRUE
message("")
}
}
#If dataframe/matrix
else if(class(eval(parse(text = object))) == "data.frame" || class(eval(parse(text = object))) == "matrix") {
message("Success.")
return <- eval(parse(text = object))
found <- TRUE
}
#Unknown
else {
message("Unknown object. Try again!")
found <- TRUE
again <- TRUE
message("")
}
}
#Wtf
else {
message("I don't know how you got here. Try again!")
found <- TRUE
again <- TRUE
message("")
}
}
}
return
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.