error data.table cuando se utiliza a través de knitr, gWidgetsWWW
Estoy experimentando con gWidgetsWWW y encontré un error extraño. Creé un botón con un manejador para tejer2html un informe que usaba el operador de asignación data.table ": =". El informe volvió con este error:
Error:: = está definido para uso en j solamente, y (actualmente) solo una vez; es decir, DT [i, col: = 1L] y DT [, newcol: = suma (colB), por = colA] están bien, pero no DT [i, col]: = 1L, no DT [i] $ col: = 1L y no DT [, {newcol1: = 1L; newcol2: = 2L}]. Por favor vea la ayuda (": ="). Compruebe is.data.table (DT) es TRUE.
El informe se genera según lo esperado usando knit2html directamente y también a través del botón "Knit HTML" de RStudio, así que no estoy seguro de por qué falla cuando el manejador llama a knit2html.
Aquí hay una ventana de gWidgetsWWW "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
Aquí hay un ejemplo de Markdown Doc que produce el error:
Test Report
===========
```{r test_chunk}
library(data.table)
df<-data.frame(State=rownames(USArrests),USArrests)
data.table(df)[,State:=tolower(State)]
```
No estoy seguro de por qué, pero cuando llamo a localServerOpen ("test_gui.R") y hago clic en el botón, aparece el error ...
¿Algunas ideas?