Fehler: fehlender Wert, wo TRUE/FALSE nötig in der while-Schleife
Ich versuche, ein Programm zu schreiben mit Hilfe einer while-Schleife:
n=50
sum=array(0,n)
sum[1]=0
for(k in 1:n)
{
sum[k+1]=sum[k]+k
while((sum[k+1]-sum[k])<10)
{
print(sum[k+1])
k=k+1
}
}
sample=data.frame(Sum=sum) sample
zeigt seine:
Error in while ((sum[k + 1] - sum[k]) < 10) { :
missing value where TRUE/FALSE needed
Kann mir jemand sagen, was ist falsch an diesem code?
- was ist array ? Methode ?
- Sie ändern Ihre
for
Schleifenzählerk
innerhalb der Schleife. Sie wahrscheinlich don ' T wirklich wollen, dies zu tun. - Was würde ein Ansatz sein, zu schreiben, dieses Programm dann gegeben, dass ich zu schreiben habe es mit der while-Anweisung, die ich geschrieben habe.Jeder Vorschlag wäre eine immense Hilfe.Danke!
- mögliche Duplikate von Fehler In R: Missing Value where TRUE/FALSE needed
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der zweiten iteration
sum[k+1] = NA
denn es werden ausgewertet:(sum[2+1]-sum[1])<10
wosum[2+1] = sum[3]
istNA
. So(sum[k+1]-sum[k])<10
werden nicht ausgewertet, um eine TRUE/FALSE.while
Schleife, die Sie immer noch nicht berechnensum[3]
die bewertet werden, in derwhile
Schleife.for
Schleife, initialisiert die ersten beiden Elemente, und schreibensum[k+1]=sum[k]+k
im Körper deswhile
Schleife.while
Schleife, die Sie haben werden, den Wert dersum[2] + 2
.k = k + 1
in der ersten Zeile in der Schleife.