2011-11-04 14 views
18

मैं जीयूआई बनाने की तलाश में हूं जो उपयोगकर्ता से कुछ इनपुट लेता है (उदाहरण के लिए लिंग, आयु और जाति क्लिक करने योग्य श्रेणियों के रूप में दौड़), फिर प्रत्येक इनपुट में एक उपयोगकर्ता आईडी निर्दिष्ट करता है (जिसे जीयूआई में आउटपुट के रूप में प्रदर्शित किया जाएगा)। हुड के तहत एक डेटासेट होगा जो जीयूआई इस उपयोगकर्ता इनपुट के साथ बना रहा है (इस उदाहरण में, यह 4 चर होगा: उपयोगकर्ता आईडी, लिंग, आयु, और दौड़)।कस्टम-निर्मित जीयूआई बनाने के लिए आर पैकेज या कोड का उपयोग किया जा सकता है?

क्या किसी ने पहले इस तरह एक जीयूआई बनाया है? कोई आर पैकेज या कोड सिफारिशें?

धन्यवाद!

+0

यह सवाल इतने पर अच्छा, पूर्ण जवाब पाने की संभावना है। – whuber

+0

वेब-आधारित जीयूआई के बारे में क्या, उदा। अपाचे मॉड्यूल मौजूद हैं - या क्या आप आरयू से बंधे जीयूआई में दिलचस्पी रखते हैं? – Iterator

+1

उस बात के लिए, यदि आप वेब आधारित सर्वेक्षण के लिए उत्तरदायी होते हैं, वहाँ कुछ अच्छी प्रणाली सारे हैं, और कुछ अच्छे अनुसंधान सॉफ्टवेयर इस तरह के मानक सर्वेक्षण प्रणालियों के उत्पादन का विश्लेषण करने के लिए। आप तक, मैं केवल आपकी जरूरतों के स्पष्टीकरण के लिए पूछ रहा हूं। – Iterator

उत्तर

12

तरीके यह करने के लिए की बहुत सारी हैं। ऐड-ऑन पैकेज 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

आरस्टूडियो के शीर्ष पर एक नया समाधान निर्माण है। यह useR2011 में पेश किया गया है, यहाँ पोस्टर के लिए एक लिंक है:

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

+0

गैर-rstudio उपयोगकर्ताओं के लिए, आप gwidgets का उपयोग कर सकते हैं ठीक उसी तरह के रूप में ताल अंक के रूप में। यह पैकेज क्रैन पर नहीं है, लेकिन इस समय आर-फोर्ज है: https://r-forge.r-project.org/R/?group_id=761 – jverzani

+0

@jverzani 'gwidgetsManipulate' का भाग्य क्या है? क्या यह 'gwidgets2' पर पोर्ट किया गया था? मुझे लगता है कि क्रैन पर गैर-रूस्टूडियो मैनिपुलेट-जैसे पैकेज होना अच्छा लगेगा .. – landroni

+0

यहां एक उदाहरण है: https://github.com/jverzani/gWidgets2/blob/master/inst/examples/manipulate.R – jverzani

0

एक और अच्छा विकल्प मैं करने की कोशिश की एक जीयूआई JavaFX, http://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm का उपयोग कर निर्माण करने के लिए है, और JavaFX जीयूआई में, बस जेआरआई, http://rforge.net/JRI/ उपयोग करते हैं, जो आपको जावा के भीतर आर का उपयोग करने में सक्षम करेगा।

संबंधित मुद्दे

 संबंधित मुद्दे