4

スクリプト用に非常に単純な GUI を作成しようとしています。一言で言えば、問題は次のようになります。

datasetはデータフレームです。1 つの列を時間としてプロットし、シンプルな GUI を使用して次/前の列を選択したいと思います。

dataset <-data.frame(rnorm(10), rnorm(10), rnorm(10))

columnPlot <- function(dataset, i){

plot(dataset[, i])

}

異なる'stcltkで 呼び出すため に 使用 する 方法 は?fploti

4

2 に答える 2

8

あなたが求めたものではありません (関係ありません) が、 RStudiotcltkの新しいパッケージを確認することをお勧めします。shiny

于 2012-11-09T22:41:32.713 に答える
3

tcltk を使用するという考えに特に執着していますか? 私はgWidgetsパッケージを使用して同様の作業を行っており、いくつかの成功を収めています。その CRAN サイトによると、「gWidgets は、対話型 GUI を構築するためのツールキットに依存しない API を提供します」。このパッケージは tcltk または GTK2 を使用しており、私は GTK2 部分を使用しています。を変更するためのスピンボタンを備えた GUI の簡単な例を次に示しiます。また、時系列をプロットすると述べたので、関数に少し空想を加えたので、x 軸を時間にしました。

data<-data.frame(rnorm(11),rnorm(11),rnorm(11))

i = 1

fplot <- function(i, data = data){
  library(ggplot2)
  TimeStart <- as.Date('1/1/2012', format = '%m/%d/%Y')
  plotdat <- data.frame(Value = data[ ,i], Time = seq(TimeStart,TimeStart + nrow(data) - 1, by = 1))
  myplot <- ggplot(plotdat, aes(x = Time, y = Value))+
    geom_line()
  print(myplot)
}

library(gWidgets)
options(guiToolkit = 'RGtk2')

window <- gwindow ("Time Series Plots", visible = T)
notebook <- gnotebook (cont = window)
group1 <- ggroup(cont = notebook, label = "Choose i", horizontal=F)
ichooser <- gspinbutton(cont = group1, from = 1, to = ncol(data), by = 1, value = i, handler = function(h,...){
  i <<- svalue(h$obj)})
plotbutton <- gbutton('Plot', cont = group1, handler=function(h,...){
  fplot(i, data)})
graphicspane1 <- ggraphics(cont = group1)
于 2012-11-14T16:55:32.217 に答える