2017-10-16 1 views
-1

Ich versuche, eine Reihe von Zahlen gegen einige Werte in einem Datensatz zur Steuerung verwenden überprüfenArgument ist die Länge Null, aber is.null ist falsch

for(i in 20:28) 
{ 
for(j in 1:52) 
{ 
    if (Test$Ferritin[j]<15 & Test$RHCc[j]<i) 
    { 
     Test$Status[j] = "TP" 
    } 
    }  
} 

Aber ich erhalte den Fehler

Fehler, wenn (Test $ Ferritin [j] -Test $ RHCC [j] < i) {: Argument der Länge Null

Ich habe die Bedingung mit is.null überprüft, aber es gibt "False" in der Antwort zurück.

Kann mir jemand erklären, was ich falsch machen könnte?

Antwort

0

NULL ist von der Länge 0, aber nicht alle Vektoren der Länge Null sind NULL (Sie können für sich selbst über is.null(numeric(0)) bestätigen). Überprüfen Sie, ob length(argument) == 0 stattdessen.

+0

Ich habe die Länge des Arguments überprüft; es gibt eine 0 zurück. Aber die if-Bedingung scheint gut zu funktionieren, wenn ich die äußere for-Schleife nicht verwende. – boredgames

+0

Sie können ein reproduzierbares Beispiel veröffentlichen, wenn Sie weitere Hilfe benötigen. https://stackoverflow.com/help/mcve –

Verwandte Themen