встроить функцию в gWidgets - PullRequest
0 голосов
/ 21 декабря 2011

Есть ли способ встроить функцию edit(dataframe) в gwindow? Пример:

DataFrame <- data.frame(cbind(1,1:10)
edit(DataFrame)
Window <- gwindow()

Я бы хотел вставить edit(DataFrame) в Window.

Апостолоса

1 Ответ

1 голос
/ 21 декабря 2011

Стандартный способ сделать это - щелкнуть по кнопке.

dfr <- data.frame(x = 1:10, y = runif(10))
win <- gwindow()
btnEdit <- gbutton(
  "Edit", 
  container = win,
  handler = function(h, ...) dfr <<- edit(dfr)
)

Вы можете быть еще интереснее и решить, должен ли фрейм данных быть редактируемым или просто видимым.

win <- gwindow()
btnEdit <- gbutton(
  "Edit", 
  container = win,
  handler = function(h, ...) 
  {
    if(svalue(chkReadonly)) View(dfr) else dfr <<- edit(dfr)
  }
)
chkReadonly <- gcheckbox(
  "Read-only", 
  FALSE,
  container = win,
  handler = function(h, ...) 
  {
    svalue(btnEdit) <- if(svalue(h$obj)) "View" else "Edit"
  }
)

Исходя из вашего комментария, то, что вы хотите, еще проще.Сохраните фрейм данных в gdf.

tbl <- gdf(dfr, container = win)
...