Какой пакет или код R можно использовать для создания пользовательских графических интерфейсов? - PullRequest
18 голосов
/ 04 ноября 2011

Я ищу создание графического интерфейса пользователя, который принимает несколько входных данных от пользователя (например, пол, возраст и раса в качестве интерактивных категорий), а затем назначает идентификатор пользователя для каждого входа (который будет отображаться в качестве выходных данных в GUI). Под капотом будет набор данных, который GUI создает с помощью этого пользовательского ввода (в этом примере это будет 4 переменные: идентификатор пользователя, пол, возраст и раса).

Кто-нибудь создавал подобный графический интерфейс раньше? Любой R пакет или рекомендации кода?

Спасибо!

Ответы [ 3 ]

12 голосов
/ 05 ноября 2011

Есть много способов сделать это. Вот один из них, использующий пакет дополнений gWidgets. Должно работать с бэкэндами RGtk2 или tcltk.

library(gWidgets)
items <- data.frame(id=numeric(0), gender=character(0), age=numeric(0), race=character(0), stringsAsFactors=FALSE)
genders <- c("Male", "Female")
race <- c("Black", "Hispanic", "Other")

w <- gwindow("Capn's GUI", visible=FALSE)
g <- ggroup(cont=w, horizontal=FALSE)
lyt <- glayout(cont=g)
lyt[1,1] <- "Gender:"
lyt[1,2] <- gradio(genders, cont=lyt)

lyt[2,1] <- "Age:"
lyt[2,2] <- gedit("40", coerce.with=as.numeric, cont=lyt)

lyt[3,1] <- "Race:"
lyt[3,2] <- gcombobox(race, selected=0L, cont=lyt)

lyt[4,2] <- gbutton("Add", cont=lyt, handler=function(h,...) {
  vals <- lapply(lyt[1:3, 2], svalue)
  id <- nrow(items) + 1                 # or roll your own
  items[id, ] <<- c(id, vals)
  tbl[] <- items
})
gseparator(cont=g)
tbl <- gtable(items, cont=g)


visible(w) <- TRUE
7 голосов
/ 05 ноября 2011

Существует новое решение, построенное поверх RStudio. Был представлен в использовании R2011, вот ссылка на постер:

http://www.calvin.edu/~rpruim/talks/MosaicLightning/images/mosaicManipulate-poster.pdf

0 голосов
/ 23 марта 2014

Другой хороший вариант, который я попробовал, - это создать графический интерфейс с использованием JavaFx, http://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm, и в графическом интерфейсе JavaFx, просто используйте JRI, http://rforge.net/JRI/,, что позволит вам использовать R в Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...