R ggvis交互式滑块用于计算y值(例如用于背景校正) [英] R ggvis interactive slider for calculating y values (e.g. for background correction)
本文介绍了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屋!
查看全文