Ich versuche, ein Skript zu schreiben, das den Prozess der Erstellung eines sauberen Korpus aus einem Vektor oder Datenrahmen für Text Mining und NLP vereinfacht. Mein Skript erzeugt jedoch einen Fehler, wenn ich es ausführe. Mein Skript ist wie folgt:Wie Traceback und Debug zu verwenden, um gebrochenen R-Code zu beheben?
quick_clean <- function(data, Vector = TRUE, removeNumbers = TRUE, removePunctuation = TRUE,
stop.words = NULL, ...) {
if(Vector == TRUE) {
source <- VectorSource(data)
} else {
source <- DataframeSource(data)
}
corp <- VCorpus(source)
corp <- tm_map(corp, stripWhitespace)
if(removePunctuation == TRUE) {
corp <- tm_map(corp, removePunctuation)
}
if(removeNumbers == TRUE) {
corp <- tm_map(corp, removeNumbers)
}
if(is.null(stop.words)) {
return(corp)
} else {
corp <- tm_map(corp, removeWords, c(stopwords("en"), stop.words))
}
corp
}
Wenn ich es laufen, bekomme ich folgende Fehlermeldung:
ich die Zurückverfolgungs lief, aber ich bin nicht wirklich sicher, wie diese Informationen zu nutzen:
7. get(as.character(FUN), mode = "function", envir = envir)
6. match.fun(FUN)
5. lapply(X, FUN, ...)
4. tm_parLapply(content(x), FUN, ...)
3. tm_map.VCorpus(corp, removePunctuation)
2. tm_map(corp, removePunctuation)
1. quick_clean(swift_vec)
ich lief auch Debug und bekam die folgende ... wieder, ich bin nicht sicher, wie diese Informationen zu nutzen:
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'FUN' of mode 'function' was not found
Called from: get(as.character(FUN), mode = "function", envir = envir)
Browse[1]>
Was mache ich hier falsch?
Es könnte sein, weil Sie den Namen 'source' als Variable verwenden. Es ist ein Problem, weil "source" auch ein Funktionsname in R ist. Ändern Sie das zu etwas anderem. –