В рамках программы R
я создаю матрицы пациентов invited
и missinrow
и скаляры numdrop
и maxses
. Все они существуют и правильно созданы.
Я тогда попробую эту строку
else if (invited[iPatient, iSession] >= maxses |
missinrow[iPatient,iSession] >= (numdrop+1 )) {
patients[iPatient,iSession] <- 'D'}
Часть до |
работает отлично, часть после |
, похоже, вообще ничего не делает.
Я попытался превратить эту строку в два утверждения, я попытался ||
вместо |
, я смотрел на это часами.
Помогите!
Спасибо
Добавлено 6/28/11
Программа считывает параметры из другого файла и создает данные. Но вот некоторые результаты:
invited[1:5, 1:14]
1025 * дает *
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,] 0 1 2 3 4 5 6 7 8 9 10 11 12 12
[2,] 0 1 2 3 4 5 6 7 8 9 10 11 12 12
[3,] 0 1 2 3 4 5 6 7 8 9 10 11 12 12
[4,] 0 0 0 1 2 3 4 5 6 7 8 9 10 11
[5,] 0 0 0 1 2 3 4 5 6 7 8 9 10 11
что хорошо
missinrow[1:5, 1:14]
дает
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,] 1 2 3 4 5 6 7 8 9 10 0 0 0 0
[2,] 1 2 3 4 5 6 7 8 9 10 0 0 0 0
[3,] 1 2 3 4 5 0 0 0 0 0 0 1 0 0
[4,] 0 0 1 2 0 0 1 2 3 4 5 6 7 0
[5,] 0 0 1 2 3 4 5 6 7 8 9 10 11 12
тоже хорошо, но
patients[1:5, 1:14]
дает
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,] "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "A" "S" "D" "D"
[2,] "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "A" "A" "D" "D"
[3,] "S" "S" "S" "S" "S" "A" "S" "A" "A" "A" "S" "S" "D" "D"
[4,] "NA" "W" "S" "S" "A" "S" "S" "S" "S" "S" "S" "S" "S" "A"
[5,] "NA" "W" "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "S" "S"
и мы видим, что ячейки, где invited
выше maxses
(что равно 12), все D
, как и должно быть, но те, где missinrow
выше numdrop + 1
(что 4 +1) не D
.