Michelle, bom dia!

O objeto NovoEigenMC$values é um vetor de 3 elementos, portanto "a condição tem comprimento > 1 e somente o primeiro elemento será usado".

Imagino que a condição que você queira testar é se há pelo menos um valor negativo no vetor. Se for isso, sua condição para while poderia ser:

 ### enquanto a cond1 > 0, existe ao menos um valor negativo
cond1 <- sum(NovoEigenMC$values<0)
while(cond1 > 0)

ou

### enquanto cond2 == FALSE, há pelo menos um negativo
cond2 <- all(NovoEigenMC$values>0)    
while(cond2 == FALSE)


Éder Comunello <comunello.eder@gmail.com
Dourados, MS - [22 16.5'S, 54 49'W]