data.table-Fehler bei Verwendung durch knitr, gWidgetsWWW

Ich experimentiere mit gWidgetsWWW und bin auf einen seltsamen Fehler gestoßen. Ich habe eine Schaltfläche mit einem Handler erstellt, um einen Bericht mit dem Zuweisungsoperator ": =" für data.table zu erstellen. Der Bericht kam mit diesem Fehler zurück:

Fehler:: = ist nur für die Verwendung in j und (derzeit) nur einmal definiert; dh DT [i, col: = 1L] und DT [, newcol: = sum (colB), by = colA] sind in Ordnung, aber nicht DT [i, col]: = 1L, nicht DT [i] $ col: = 1L und nicht DT [, {newcol1: = 1L; newcol2: = 2L}]. Bitte siehe Hilfe (": ="). Überprüfen Sie, ob is.data.table (DT) TRUE ist.

Der Bericht wird erwartungsgemäß mit knit2html direkt und auch über die Schaltfläche "Knit HTML" von RStudio generiert. Ich bin mir also nicht sicher, warum er fehlschlägt, wenn knit2html vom Handler aufgerufen wird.

Hier ist ein gWidgetsWWW-Fenster "test_gui.R":

library(gWidgetsWWW)
library(knitr)

w<-gwindow("Test Window")
g<-ggroup(horizontal=F,cont=w)
b<-gbutton("Report Button",cont=g,handler=function(h,...){
    knit2html("test_report.Rmd")
    localServerOpen("test_report.html")
})

visible(w)<-T

Hier ist ein Beispiel für ein R Markdown-Dokument, das den Fehler erzeugt:

Test Report
===========

```{r test_chunk}
library(data.table)

df<-data.frame(State=rownames(USArrests),USArrests)

data.table(df)[,State:=tolower(State)]

```

Ich weiß nicht warum, aber wenn ich localServerOpen ("test_gui.R") aufrufe und auf die Schaltfläche klicke, erhalte ich die Fehlermeldung ...

Irgendwelche Ideen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage