2011-11-04 13 views
18

ユーザーからいくつかの入力(クリック可能なカテゴリとして性別、年齢、競争など)を取得し、GUIの出力として表示されるユーザーIDを各入力に割り当てるGUIを作成したいと考えています)。フードの下には、このユーザー入力(この例では、ユーザーID、性別、年齢、およびレースの4つの変数)でGUIが作成するデータセットがあります。カスタムメイドのGUIを構築するために使用できるRパッケージまたはコードは何ですか?

誰もこのようなGUIを作成しましたか?任意のRパッケージまたはコードの推奨?

ありがとうございます!

+0

この質問は、SOの完全な回答が得られる可能性が高いです。 – whuber

+0

WebベースのGUIはどうですか? Apacheモジュールが存在するか、またはRに非常に関連したGUIに興味がありますか? – Iterator

+1

あなたはWebベースの調査に従順であれば、そこにいくつかの優れたシステムがあり、そのような標準的な調査システムの出力を分析する良いRソフトウェアがあります。あなた次第、私はあなたのニーズを明確にするよう求めているだけです。 – 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

RStudioの上に新しいソリューションビルドがあります。それはuseR2011に提示された、ここではポスターへのリンクです:

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

+0

rstudio以外のユーザーの場合は、gWidgetsを使用して、Talと同じ方法で操作できます。このパッケージは現時点ではなく、r-forgeです。https://r-forge.r-project.org/R/?group_id=761 – jverzani

+0

@jverzani 'gWidgetsManipulate'の運命は何ですか? 'gWidgets2'に移植されましたか?私は、非RStudio操作のようなパッケージをCRANに持たせるといいと思います。 – landroni

+0

ここに例があります:https://github.com/jverzani/gWidgets2/blob/master/inst/examples/manipulate.R – jverzani

関連する問題