R:从向量中提取值,并在函数中使用它们来计算差值

R:从向量中提取值,并在函数中使用它们来计算差值,r,R,我想从向量中提取特定的值,然后在函数中使用它们。我将用这个例子来解释它 所有的计算都是在闪亮的应用程序中进行的,这个例子是一个简化的版本 目前… 我计算x轴两个温度点之间每个样本的时间差(样本可以使用ID列进行区分)(在下面的示例中,x1=600-->在我的闪亮应用程序中是一个反应值,x2=800-->是一个常量值) #####示例数据 数据您可以通过执行以下操作为给定的VAL列表添加列: data.new <- data.frame(ID = unique(data$id)) vals

我想从向量中提取特定的值,然后在函数中使用它们。我将用这个例子来解释它

所有的计算都是在闪亮的应用程序中进行的,这个例子是一个简化的版本

目前…

我计算x轴两个温度点之间每个样本的时间差(样本可以使用ID列进行区分)(在下面的示例中,x1=600-->在我的闪亮应用程序中是一个反应值,x2=800-->是一个常量值)

#####示例数据

数据您可以通过执行以下操作为给定的
VAL列表添加列:

data.new <- data.frame(ID = unique(data$id))
vals <- seq(600,800,by=50)
data.new[paste("Zeit",vals,sep="")] <- sapply(vals,function(xout.input) {
  vapply(unique(data$id), function(a){
    with(data[data$id == a,], approx(x = Temp, y = Zeit, xout = xout.input))$y
  }, double(1))
})

我希望这有帮助。

dat[seq(x1,x2,by=50)]
?不确定:“用提取的温度值计算时差,并始终使用温度800”,这对我来说毫无意义。这很难解释,但我会尽力做到最好。让我解释一下,如果我们有x1=600和x2=800,我们想要所有600和800之间的值乘以50,我们得到:600650700750800。然后我需要在我的函数中使用每个值:Zt(查看上面的代码片段)作为
xout=…
,并使用计算值创建一个新列
data.new <- data.frame(ID = unique(data$id))
vals <- seq(600,800,by=50)
data.new[paste("Zeit",vals,sep="")] <- sapply(vals,function(xout.input) {
  vapply(unique(data$id), function(a){
    with(data[data$id == a,], approx(x = Temp, y = Zeit, xout = xout.input))$y
  }, double(1))
})
> data.new
  ID  Zeit600  Zeit650  Zeit700  Zeit750  Zeit800
1  1 601.7826 504.7059 321.2658 264.3038 207.3418
2  2 602.6250 546.6667 316.6667 261.1111 205.5556
> datat85$Zeit == data.new$Zeit600
[1] TRUE TRUE
> datat85$Zeit2 == data.new$Zeit800
[1] TRUE TRUE