2016-04-08 4 views
0

Dies ist möglicherweise nicht der richtige Ort, um zu fragen, aber ich bin mir nicht sicher, wo ich sonst fragen könnte. Ich versuche, das smbinning Paket zu verwenden. Insbesondere versuche ich durch mehrere Prädiktorvariablen zu bin. Das Problem ist, dass alle Beispiele in der package documentation nur mit einer Prädiktorvariablen umgehen. Ich habe versucht, diese ganz naiv:Mehrere Prädiktoren mit dem Smbinning-Paket

result=smbinning(df=training,y="FlagGB",x=".,",p=.05)

, die in Ordnung ausführen schien, aber dann, wenn ich versuchte result$ivtable ich

Error in result$ivtable : $ operator is invalid for atomic vectors

Kennt jemand ein bekam den Fehler zu laufen), wie man smbinning um mehrere Prädiktoren zu akzeptieren oder wenn es kein anderes Paket kann; b) Wie löst man den oben aufgeführten spezifischen Fehler?

Antwort

0

Haben Sie das "Informationspaket" untersucht? Es scheint den Job zu erledigen, aber es gibt keine Möglichkeit, die Variable zu rekodieren. Wenn es eins gibt, habe ich nicht gefunden. Ansonsten ist es ein wirklich großartiges Paket für die Exploration und Analyse der Variablen.

0

Um zu antworten, b) sollten Sie tun: result und (am wahrscheinlichsten) sehen, dass die Funktion in der Tat aus dem bestimmten Grund nicht ausgeführt wurde, dass Sie im Gegenzug erhalten werden.

In der Tat ist es ein wenig verwirrend, dass das Smbinning-Paket seine Fehler stillschweigend und innerhalb der Variablen selbst zurückgibt.

Frage a) ist dagegen schwer zu beantworten, ohne die Daten zu betrachten. Sie können versuchen, Ihre Variablen zu kreuzen/multiplizieren, aber dies kann zu einer sehr großen Anzahl von Faktorstufen führen. Ich würde vorschlagen, dass Sie das smbinnign-Paket anwenden, um jedes Ihrer Merkmale in einigen Gruppen zu gruppieren und dann zu versuchen, die Gruppen zu kreuzen.

0

für Frage a), sollten Sie sumiv-Methode verwenden, die IV für alle Variablen in einem Schritt berechnet. Code wie:

sumivt = smbinning.sumiv (chileancredit.train, y = "FlagGB")

sumivt # Display-Tabelle mit IV durch charakteristische

0

ich das Problem gelöst haben, ist es, weil die Ausbildung Darf kein Datenrahmen sein, muss man das Training in einen Datenrahmen mit as.data.frame (training) umwandeln. Sie können die smbinning Code (https://github.com/cran/smbinning/blob/master/R/smbinning.R#L490) sehen, da dieser Block

ist
i=which(names(df)==y) # Find Column for dependant 

j=which(names(df)==x) # Find Column for independant 

if (!is.numeric(df[,i])) 

{ 
    return("Target (y) not found or it is not numeric") 
} 

zweitens die y FlagGB numerisch sein muss, wenn Ihr y varible Faktor ist, müssen Sie in numerische konvertieren, können Sie verwenden as.numeric (as.character (y)) nicht direkt as.numerical() das Problem ist ähnlich zu "Target (y) not found or it is not numeric" -Package smbinning - R

Verwandte Themen