2016-08-23 6 views
0

プロットに表示するデータのサブセットをユーザーが決定できるようにする簡単なユーザーインターフェイスを構築しようとしています。ここでR:プロットに表示されるサブセットデータへの便利なユーザーインターフェイス

は、それは動作しますが、本当に便利ではありません鉱山

require(ggplot2) 

x = runif(1e5,1,10) 
a = rep(0:9,each=1e4) 
b = rep(1:10,1e4) 
y = x^(a/b) 

DATA = data.frame(a=a,b=b,x=x,y=y) 

dummy=FALSE 
while(TRUE) 
{ 
    response = readline("Do you want to continue? (n/y): ") 
    while (response!="y") 
    { 
     if (response=="n") {dummy=TRUE;break} 
     response = readline("Do you want to continue? (n/y): ") 
    } 
    if (dummy) break 

    a_sub = readline(
     paste0("What subset for 'a' do you want?: (",paste(unique(DATA$a), collapse=","),") ") 
    ) 
    b_sub = readline(
     paste0("What subset for 'b' do you want?: (",paste(unique(DATA$b), collapse=","),") ") 
    ) 
    print(ggplot(data=subset(DATA,a==a_sub & b==b_sub), aes(x=x,y=y)) + geom_point()) 
} 

の非常に愚かな試験です。ユーザーがマウスをクリックして希望の値を選択することができる、より優れたソリューションが存在する可能性があります。私の目的に合った素敵なインターフェースの例を作ってください。

+1

[シャイニー](http://shiny.rstudio.com/gallery/)。それとも、あなたが少し勇気があるなら、[plotly](http://moderndata.plot.ly/new-feature-dropdown-menus-in-plotly-and-r/)を使ってクライアント側にしてください。または、おそらく[操作](https://rstudio-pubs-static.s3.amazonaws.com/627_e9264c581fde4fa4ad9d4e9353031226.html)ローカル。 – alistaire

答えて

0

ggvisを試してみることもできます。 this postから描画:

library(ggvis) 
library(dplyr) 
DATA %>% 
    ggvis(~x, ~y) %>% 
    filter(a == eval(input_slider(0, 9))) %>% 
    filter(b == eval(input_slider(1, 10))) %>% 
    layer_points() 

enter image description here

関連する問題