滞后函数之和
Sum of lag functions
在一个人的行为任务数据中,我试图将目标出现的时钟时间 (data$onset) 和他们响应的反应时间 (data$Latency) 相加,以找到时钟时间他们在其中输入了回复。出于未来数据处理的原因,这些计算值必须放在 data$onset 列中,比目标出现在屏幕上时低两个值。在下面的示例中:
Item
onset
Latency
Prime
9.97
0
Target
10.70
0.45
Mask
11.02
0
Response
NA
0
开始是刺激出现的任务秒数,延迟是对目标的反应时间。非目标的延迟将始终为 0,因为对象不响应它们。在开始下的“NA”中,我需要该值是目标开始+对目标的反应时间 (10.70+0.45) 的总和。这是我试过的代码:
data$onset=if_else(is.na(data$onset), sum(lag(data$onset, n = 2)+lag(data$Latency, n = 2)), data$onset)
如果需要任何说明,请告诉我。
因为您使用了 if_else
我正在添加一个 dplyr
解决方案;
library(dplyr)
data %>%
mutate(onset=ifelse(is.na(onset),lag(onset,n =2)+lag(Latency,n = 2),onset))
输出;
Item onset Latency
<fct> <dbl> <dbl>
1 Prime 9.97 0
2 Target 10.7 0.45
3 Mask 11.0 0
4 Response 11.1 0
另请注意,如果您想坚持自己的语法;
data$onset=if_else(is.na(data$onset), lag(data$onset, n = 2)+lag(data$Latency, n = 2), data$onset)
在一个人的行为任务数据中,我试图将目标出现的时钟时间 (data$onset) 和他们响应的反应时间 (data$Latency) 相加,以找到时钟时间他们在其中输入了回复。出于未来数据处理的原因,这些计算值必须放在 data$onset 列中,比目标出现在屏幕上时低两个值。在下面的示例中:
Item | onset | Latency |
---|---|---|
Prime | 9.97 | 0 |
Target | 10.70 | 0.45 |
Mask | 11.02 | 0 |
Response | NA | 0 |
开始是刺激出现的任务秒数,延迟是对目标的反应时间。非目标的延迟将始终为 0,因为对象不响应它们。在开始下的“NA”中,我需要该值是目标开始+对目标的反应时间 (10.70+0.45) 的总和。这是我试过的代码:
data$onset=if_else(is.na(data$onset), sum(lag(data$onset, n = 2)+lag(data$Latency, n = 2)), data$onset)
如果需要任何说明,请告诉我。
因为您使用了 if_else
我正在添加一个 dplyr
解决方案;
library(dplyr)
data %>%
mutate(onset=ifelse(is.na(onset),lag(onset,n =2)+lag(Latency,n = 2),onset))
输出;
Item onset Latency
<fct> <dbl> <dbl>
1 Prime 9.97 0
2 Target 10.7 0.45
3 Mask 11.0 0
4 Response 11.1 0
另请注意,如果您想坚持自己的语法;
data$onset=if_else(is.na(data$onset), lag(data$onset, n = 2)+lag(data$Latency, n = 2), data$onset)