【发布时间】:2021-05-28 05:46:24
【问题描述】:
我希望有人可以看看下面的 if 语句并告诉我应该如何更改它以获得我想要的结果。
基本上,我希望代码 (1) 遍历(迭代)数据框 beh_data 中的每一行,以及 (2) 如果“Cue”列中的字符与“face1”列中的字符相同,我想(3)从“Enc_trials.thisRepN”列中获取值,(4)将其分配给“scr_of_trial”列。如果它们不相同,我想为“scr_of_trial”列分配一个 NA。
目前,代码运行,但将 NA 分配给“scr_of_trial”列中的每一行。
谁能告诉我为什么?
代码如下:
j <- 1
i = as.character(beh_data$Cue[1:1])
for (x in 1:NROW(beh_data$Cue)) {
if (beh_data$Cue[j] == beh_data$face1[j]) {
beh_data$scr_of_trial[j] <- beh_data$Enc_trials.thisRepN[j]
j <- j + 1
i = as.character(beh_data$Cue[1:1+j])
}
else {
beh_data$scr_of_trial[j] <- NA
j <- j + 1
i = as.character(beh_data$Cue[1:1+j])
next
}
}
【问题讨论】:
-
请添加数据的最小表示,包括输出示例。否则不可能给你可靠的建议,除了可能。
标签: r for-loop if-statement assign