R ggvis交互式滑块用于计算y值(例如用于背景校正) [英] R ggvis interactive slider for calculating y values (e.g. for background correction)

查看:138
本文介绍了R ggvis交互式滑块用于计算y值(例如用于背景校正)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 ggvis 滑块来视觉地对我的数据进行背景校正:



<$ p $
库(lubridate)
data< - data.frame(timestamp = Sys。时间() - 小时(10:1),
signal = rnorm(10),
temperature = rnorm(10))

mySlider< - input_slider ,value = 1,step = 0.1,label =T-correction)
data%>%
ggvis(〜timestamp,〜signal)%>%
layer_paths() >%
layer_paths(x =〜timestamp,y =〜temperature,stroke:=red)%>%
mutate(new_signal = signal - mySlider * temperature)%>%# ,我想添加滑块
layer_paths(x =〜timestamp,y =〜new_signal,stroke:=darkgreen)

我得到一个函数()中的错误:二进制运算符的非数字参数。 ggvis能做到这一点,还是做错了什么?

解决方案

你可以用参数 input_slider 。但是看来你必须明确地调用$ code $ data $ signal 和 data $ temperature

 #指定滑块
mySlider< - input_slider(0,2,value = 1,step = 0.1,label =T-correction,
map = function(x)data $ signal - x * data $ temperature)
#绘制
data%>%
ggvis(〜timestamp ,〜signal)%>%
layer_paths()%>%
layer_paths(x =〜timestamp,y =〜temperature,stroke:=red)%>%
layer_paths(x =〜timestamp,y = mySlider,stroke =darkgreen)


I would like to use a ggvis slider to visually do a background correction of my data:

library("dplyr")
library("ggvis")
library("lubridate")
data <- data.frame(timestamp = Sys.time() - hours(10:1),
                   signal = rnorm(10),
                   temperature = rnorm(10))

mySlider <- input_slider(0, 2, value = 1, step = 0.1, label = "T-correction")
data %>% 
  ggvis(~timestamp, ~signal) %>%
  layer_paths() %>%
  layer_paths(x = ~timestamp, y = ~temperature, stroke := "red") %>%
  mutate(new_signal = signal - mySlider * temperature) %>%  # here, I would like to add in the slider
  layer_paths(x = ~timestamp, y = ~new_signal, stroke := "darkgreen")

I get an Error in function () : non-numeric argument to binary operator. Is ggvis capable of doing this or what did I do wrong?

解决方案

You can do this with the map argument of input_slider. But it appears that you have to explicitly call data$signal and data$temperature.

# specify slider
mySlider <- input_slider(0, 2, value = 1, step = 0.1, label = "T-correction", 
                         map = function(x)  data$signal - x * data$temperature)
# plotting
data %>% 
  ggvis(~timestamp, ~signal) %>%
  layer_paths() %>%
  layer_paths(x = ~timestamp, y = ~temperature, stroke := "red") %>%
  layer_paths(x = ~timestamp, y = mySlider, stroke = "darkgreen")

这篇关于R ggvis交互式滑块用于计算y值(例如用于背景校正)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆