R "- argument ist mit der Länge null" wenn(Bedingung)
Sehr neu auf R, würde schätzen, wenn Sie mir sagen könnte was ich falsch mache.
Dies war mein erstes code:
count <- 0
for (i in 1:nrow(data))
{
if(outcome[i]==data[1,i])
inc(count) <- 1 #package Hmisc
}
wo Ergebnisse und Daten[1] sind Vektoren mit binären Werte wie zB. [1, 0, 0, 1, 1, 0..]
Bekam ich das Ergebnis "argument der Länge null' mit der if-Anweisung. Getestet werden individuell mit Zeilen, die aufeinander abgestimmt/nicht übereinstimmende, entdeckt, dass das Resultat zeigt sich nur in der letzteren.
Also ich habe mein code geändert zu:
count <- 0
for (i in 1:nrow(data))
{
if(!is.null(outcome[i]==data[1,i]))
inc(count) <- 1 #package Hmisc
}
Nun den Wert, der count zurückgegeben wird die Anzahl der " für " - Iterationen.
Bedeutet das nicht, das R ist-NICHT wieder einen null-Wert für JEDE übereinstimmung in den neuen code?? Wie ist das passiert? Lösungen bitte?
- Du bist einer Schleife durch die Anzahl der Zeilen in
data
, aber im Vergleich mit den Werten der ersten Zeile für die verschiedenen Spalten. Wenn es tatsächlich 2-dimensional ist und Sie möchten die erste Spalte, versuchendata[i, 1]
. - Okay, das war unglaublich leichtsinnig von mir; und das ist auch das Problem zu beheben! danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Daten, wenn ein one-dimension array (die binären Daten, die Sie zeigten ist) dann eher eine matrix, Vektor oder andere Struktur, die Sie verwenden können Länge zu finden, die Zeilenanzahl. Dieser code zeigt, wie Sie eine Zählung auf der Basis von übereinstimmungen mit einem eindimensionalen array (Hinweis: ich nehme an, inc, ist eine pascal-wie custom-Funktion).
Werden die Daten zurückgegeben, als eine matrix von Vektoren, die dann versuchen, diesen code (der gleiche Hinweis auf Hmisc).:
Hinweis: nrow zurück entweder eine ganze Zahl oder NULL