Das last.call
Paket ist nicht mehr auf Cran, aber man kann immer noch den Code erhalten:
# -----------------------------------------------------------------------
# FUNCTION: last.call
# Retrieves a CALL from the history and returns an unevaluated
# call.
#
# There are two uses for such abilities.
# - To be able to recall the previous commands, like pressing the up key
# on the terminal.
# - The ability to get the line that called the function.
#
# TODO:
# - does not handle commands seperated by ';'
#
# -----------------------------------------------------------------------
last.call <-
function(n=1) {
f1 <- tempfile()
try(savehistory(f1), silent=TRUE)
try(rawhist <- readLines(f1), silent=TRUE)
unlink(f1)
if(exists('rawhist')) {
# LOOK BACK max(n)+ LINES UNTIL YOU HAVE n COMMANDS
cmds <- expression()
n.lines <- max(abs(n))
while(length(cmds) < max(abs(n))) {
lines <- tail(rawhist, n=n.lines)
try(cmds <- parse(text=lines), silent=TRUE)
n.lines <- n.lines + 1
if(n.lines > length(rawhist)) break
}
ret <- rev(cmds)[n]
if(length(ret) == 1) return(ret[[1]]) else return(ret)
}
return(NULL)
}
Nun, es zu benutzen:
sum(1, 2)
# [1] 3
last.call(2)
# sum(1, 2)
[wörtlich der erste Treffer bei Google, wenn ich getippt "R letzten Anruf"] (http://www.inside-r.org/packages/cran/last.call/docs/last.call) – shadowtalker
Also posten Sie es als eine Antwort –
@MikeWise Ich denke, ihr Punkt ist, dass die OP sollte sich bemüht haben, die Antwort zu finden, anstatt dass dies der erste Stopp ist. –