在一个循环中,我想在向量中插入“ i”。我该怎么办?
我尝试了以下代码:
m1nash.best.response.coordinates<- NULL
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)
}
}
通过以下控制台进行播放:
Error: unexpected 'if' in:
" m1nash.best.response.coordinates <- c(m1nash.best.response.coordinates, 1,i)
} if"
> m1nash.best.response.coordinates <- c(m1nash.best.response.coordinates, 2, i)
Error: object 'i' not found
> }
Error: unexpected '}' in " }"
>
> }
Error: unexpected '}' in "}"
答案 0 :(得分:0)
尝试一下:
m1nash.best.response.coordinates<- NULL
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)
}
}
答案 1 :(得分:0)
欢迎Kaan,
您应该做出几个最佳实践选择,包括return output if is_training else tf.nn.sigmoid(output)
循环还是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
函数。
祝你好运