У меня есть два набора данных Mtest и Ztest. Я пытаюсь сравнить каждое значение в соответствующих наборах данных с нулем и использовать результат сравнения, чтобы создать новый набор данных с результатами. Сравнение должно привести к одному из трех результатов.
Result 1: Mtest > 0 & Ztest > 0 <- "OW"
Result 2: Mtest < 0 & Ztest < 0 <- "UW"
Result 3: Mtest < 0 & Ztest > 0 | Mtest > 0 & Ztest < 0 <- "MW"
Набор данных 1: Mtest:
A B C
-0.0136 0.0078 -0.0234
-0.0377 0.1369 -0.0387
Набор данных 2: Ztest
A B C
-0.4283 0.4441 -0.6826
-1.888 -0.5877 -1.2024
Желаемый вывод:
A B C
UW OW UW
UW MW UW
Моя логика не генерирует MW для строки B столбца 2. Ниже приведен пример вывода, который генерирует мой цикл:
A B C
UW OW UW
UW OW UW
Когда я запускаю следующий цикл, он не работает должным образом, и мне было трудно понять, что я делаю неправильно.
testMatrix <- matrix(0, ncol = 3, nrow = 2)
for(i in 1:ncol(Ztest)) {
if(c(Ztest[,i], Mtest[,i]) > 0){
testMatrix[,i] <- "OW"
} else {
if((Ztest[,i] > 0 & Mtest[,i] < 0) | (Ztest[,i] < 0 & Mtest[,i] > 0)){
testMatrix[,i] <- "MW"
} else {
if(c(Ztest[,i],Mtest[,i]) < 0){
testMatrix[,i] <- "UW"
}
}
}
}
Я ценю любую помощь, которую вы можете оказать мне в том, что моя ошибка. Спасибо.