Обрезать фрейм данных с помощью выбора входа в ggvis & Блестящий - RStudio - PullRequest
0 голосов
/ 14 декабря 2018

Я видел похожие вопросы и ответы на этот вопрос, но не смог ввести два input_sliders для управления нижним и верхним доменом оси X с помощью и in .

Я запускаю скрипт:

Time <- aniso.df$Time
r_t <- r_t
trim.df <- data.frame(Time, r_t)
library(shiny)
library(ggvis)
library(googleVis)

for_plot <- structure(
list(Time = Time, 
   r_t = r_t
   ), .Names = c("Time", "r_t"), row.names = c(NA, -139L), 
class = c("data.table",  "data.frame")
)

runApp(list(
ui = bootstrapPage(
ggvisOutput("p"),
sliderInput("trimlim", "Trim last values:", min = 0, max = max(Time), value = max(Time), step= 1),
sliderInput("trimlim2", "Trim first values:", min = 0, max = max(Time), value = 0, step= 1)),

server = function(input,output, session) {
output$p <- renderGvis({
input$trimlim
input$trimlim2
for_plot[for_plot$Time<input$trimlim, for_plot$Time>input$trimlim2,] %>% ggvis(x = ~Time, y = ~r_t) %>% bind_shiny('p')
})
}
))

, где файл данных trim.df data.frame выглядит следующим образом:

head(trim.df)
    Time         r_t
 1 0.00000 -0.05919221
 2 0.02442 -0.10030859
 3 0.04883  0.10410886
 4 0.07325  0.21235471
 5 0.09766  0.22980198
 6 0.12207  0.24670278

но этот скрипт не запустится.

При изменении скрипта для одного слайдера он запускается без проблем. (показано здесь):

Time <- aniso.df$Time
r_t <- r_t
trim.df <- data.frame(Time, r_t)
library(shiny)
library(ggvis)
library(googleVis)

for_plot <- structure(
list(Time = Time, 
   r_t = r_t
   ), .Names = c("Time", "r_t"), row.names = c(NA, -139L), 
class = c("data.table",  "data.frame")
)

runApp(list(
ui = bootstrapPage(
ggvisOutput("p"),
sliderInput("trimlim", "Trim last values:", min = 0, max = max(Time), value = max(Time), step= 1),
sliderInput("trimlim2", "Trim first values:", min = 0, max = max(Time), value = 0, step= 1)),

server = function(input,output, session) {
output$p <- renderGvis({
input$trimlim
input$trimlim2
for_plot[for_plot$Time<input$trimlim,] %>% ggvis(x = ~Time, y = ~r_t) %>% bind_shiny('p')
})
}
))

Я перепробовал все комбинации входов для for_plot, о которых я могу думать, но постоянно сталкивался с проблемами.Второй сценарий добавляет верхнюю панель обрезки без проблем, хотя форматирование не является лучшим, но я хотел бы иметь два ползунка для одновременного управления нижней и верхней областью.Любая помощь будет принята с благодарностью.

Спасибо!

...