Я прочитал некоторые из вопросов if для if for for for, но я не могу решить, что проблема для моего скрипта.инструкция if-else внутри цикла для R
type = numeric(length(r))
for (i in 1:10) {
if (((s_mov[i] < s_rot[i]) & (e_rot[i] < e_mov[i])) | ((s_rot[i] < s_mov[i]) & (s_mov[i] < e_rot[i])) == TRUE) {
type[i]=1
}
else if (((s_doc[i] < s_rot[i]) & (e_rot[i] < e_doc[i]) == TRUE) {
type[i]=2
}
else if (((s_rot[i] < e_mov[i]) & (s_doc[i] < e_rot[i])) | ((s_rot[i] < s_mov[i]) & (s_doc[i] < e_rot[i])) == TRUE) {
type[i]=3
}
}
или я попробовал этот путь, а
for (i in 1:10) {
if (((s_mov[i] < s_rot[i]) & (e_rot[i] < e_mov[i])) | ((s_rot[i] < s_mov[i]) & (s_mov[i] < e_rot[i])) == TRUE) {
type[i]=1
}
else if (((s_doc[i] < s_rot[i]) & (e_rot[i] < e_doc[i]) == TRUE) {
type <- replace(type, type[i],2
}
else if (((s_rot[i] < e_mov[i]) & (s_doc[i] < e_rot[i])) | ((s_rot[i] < s_mov[i]) & (s_doc[i] < e_rot[i])) == TRUE) {
type <- replace(type, type[i],3
}
}
, но я постоянно получаю
Error: unexpected '{' in:
Что случилось?
Я не уверен, но я думаю, что в зависимости от данных, когда все 1:10 удовлетворяют первому утверждению if, он записывает 1 для всех 10 элементов, а вместо того, чтобы наклоняться, он продолжает и вызывает ошибку.
Неожиданный '{' означает, что у вас простая синтаксическая ошибка. Вам просто нужно усердно смотреть на нее. Возможно, незакрытый парик. – joran