Добро пожаловать, Каан,
Есть пара лучших практик, которые вы должны сделать, в том числе: for
цикл или if
оператор - лучший выбор.
Однако, если всеВы беспокоитесь о том, чтобы заставить ваш код работать.Есть пара вещей, которые вы можете сделать.
Я бы предпочел инициализировать m1nash.best.response.coordinates
как пустой вектор вместо NULL
.Если вы можете сделать это, присвоив ему значение c()
Во-вторых, я полагаю, что в этой строке у вас есть орфографическая ошибка if(m1nash[2,i]>m1nas[1,i])
.m1nas
должно быть m1nash
.
Вы можете попробовать этот цикл ниже
m1nash.best.response.coordinates <- c()
m1nash <- matrix(data = rnorm(4), nrow=2, ncol=2) #my test matrix
for (i in 1:2) {
if (m1nash[1, i] > m1nash[2, i]) {
m1nash.best.response.coordinates <-
c(m1nash.best.response.coordinates, 1, i)
}
if (m1nash[2, i] > m1nash[1, i]) {
m1nash.best.response.coordinates <-
c(m1nash.best.response.coordinates, 2, i)
}
}
Вы не отвечаете условию, если m1nash[1,i]= m1nash[2,i]
.Если это невозможно, возможно, даже используйте функцию ifelse
, если хотите остаться в семье if
.
Удачи