Ich verwende derzeit das Johnson-Paket, um einige Daten zu transformieren (z. B. Prozentsatz von falsch zurückgerufenen Artikeln und ähnlichem)).R: NE.Johnson-Paket (Fehler in RE.ADT (xsl [, i]): Objekt 'p' nicht gefunden)
(https://cran.r-project.org/web/packages/Johnson/Johnson.pdf)
Die NE.Johnson Funktion funktioniert für die meisten meiner Daten abgesehen von zwei Variablen in Ordnung. Beim Versuch, die Funktion, die ich die folgende Fehlermeldung auszuführen:
>recall_Johnson <- RE.Johnson(RECALL)
Fehler in RE.ADT (xsl [i]): Objekt 'p' nicht gefunden
ich Ihnen wirklich gehofft, bin Leute können mir eine Hand geben, weil ich nicht herausfinden kann, warum ich den Fehler bekomme!
Ich habe die Daten visuell durchsucht und ich kann nichts finden, was wirklich die beiden Problemvariablen stehen lässt. Unten ist ein Ausdruck der sortierten Daten für eine Variable, die gut funktioniert (Prozentsatz von Inhibierungsfehlern) und eine andere, die nicht funktioniert (Prozentsatz von Rückruffehlern).
Adaequat: Hemmung Fehler
> sort.x=sort(Inhibpercent)
> print(sort.x)
[1] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
[7] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
[13] 0.8403361 0.8474576 1.2605042 1.6666667 1.6666667 1.6666667
[19] 1.6666667 1.6666667 1.6666667 1.6666667 1.6806723 1.6949153
[25] 1.6949153 1.6949153 1.7021277 1.7241379 1.7241379 1.7543860
[31] 2.0833333 2.1008403 2.1276596 2.5000000 2.5000000 2.5104603
[37] 2.5423729 2.5531915 2.9166667 2.9166667 2.9166667 2.9166667
[43] 2.9411765 2.9535865 3.0042918 3.3333333 3.3333333 3.3333333
[49] 3.3333333 3.3613445 3.3755274 3.3755274 3.3898305 3.3898305
[55] 3.4188034 3.4482759 3.7500000 3.7656904 3.7815126 3.7815126
[61] 3.8297872 4.1666667 4.1841004 4.2016807 4.2194093 4.5833333
[67] 4.6025105 4.6511628 4.6808511 5.0000000 5.0000000 5.0000000
[73] 5.0209205 5.0847458 5.0847458 5.0847458 5.0847458 5.1282051
[79] 5.4393305 5.5319149 5.8333333 6.6666667 6.6666667 6.7796610
[85] 6.7796610 6.7796610 6.7796610 6.8965517 6.8965517 7.3033708
[91] 8.3333333 8.3333333 8.3333333 8.3333333 8.3333333 8.3333333
[97] 8.4388186 8.4745763 8.4745763 8.4745763 8.6206897 9.5833333
[103] 9.6638655 10.0000000 10.1694915 10.1694915 10.3448276 10.5042017
[109] 10.7142857 11.3924051 11.6666667 11.6666667 12.0833333 13.3333333
[115] 15.2542373 18.3333333 20.7547170 25.8536585
FUNKTIONIERT NICHT: Recall Fehler
> sort.x=sort(incorrectrecallpercent)
> print(sort.x)
[1] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
[7] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
[13] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
[19] 0.0000000 0.0000000 0.0000000 0.0000000 0.4166667 0.4166667
[25] 0.4201681 0.4201681 0.4201681 0.4219409 0.4255319 0.4255319
[31] 0.4878049 0.8333333 0.8368201 0.8403361 0.8403361 0.8438819
[37] 1.2500000 1.2500000 1.2500000 1.2605042 1.2875536 1.6666667
[43] 1.6666667 1.6666667 1.6666667 1.6666667 1.6666667 1.6736402
[49] 1.6949153 1.6949153 1.6949153 2.1186441 2.1186441 2.1186441
[55] 2.5000000 2.5000000 2.5104603 2.5210084 2.5210084 2.9166667
[61] 2.9787234 3.3333333 3.3333333 3.3898305 3.3898305 3.7500000
[67] 3.7735849 3.7974684 4.1666667 4.1841004 4.6025105 5.0000000
[73] 5.0000000 5.0847458 5.0847458 5.1724138 5.3571429 5.4621849
[79] 5.5084746 5.5555556 6.6666667 6.6666667 6.7226891 6.7796610
[85] 6.7796610 6.8965517 7.0175439 8.3333333 8.3333333 8.3333333
[91] 8.3333333 8.3333333 8.3333333 8.3333333 8.3333333 10.0000000
[97] 10.0000000 10.0000000 10.1694915 10.3448276 11.2359551 11.6666667
[103] 12.2807018 12.2881356 13.5593220 13.7931035 13.7931035 16.1016949
[109] 16.2790698 16.4556962 16.9491525 17.9487179 26.1603376 29.3103448
[115] 32.2033898 32.2033898 32.2033898 39.9159664
Neben Rückruf etwas mehr Instanzen von Null, kann ich nicht wirklich sehen, jede wesentliche Unterschiede? Aber vielleicht übersehe ich etwas?
Ich habe nach der Anleitung aus diesem Thread versucht: Apply a loop to a data frame
Es wird vorgeschlagen, diesen Code (Zeilen 101-103 in RE.Johnson.R) zu ändern:
if(xsb.valida[1,i]==0) xsb.adtest[1,i]<-(RE.ADT(xsb[,i])$p)
if(xsl.valida[1,i]==0) xsl.adtest[1,i]<-(RE.ADT(xsl[,i])$p)
if(xsu.valida[1,i]==0) xsu.adtest[1,i]<-(RE.ADT(xsu[,i])$p)
zu:
Der Grund für die Änderung ist derselbe Fehler kann auftreten, wenn die Funktion versucht, die Transformation in einen Vektor mit gleichen Werten durchzuführen. Ich denke nicht, dass das für meine Daten gilt, weil die Werte im Vektor nicht gleich sind, aber vielleicht habe ich sie falsch verstanden? Wenn die Funktion den Vektor in Abschnitte aufteilt ... könnte dieses Problem wegen der Anzahl von Nullen am Anfang der sortierten Liste auftreten? Ich habe versucht, den Code zu ändern, aber leider hat es das Problem gelöst.
Ich sehe, dass der folgende Code eingefügt wurde, um NA/NaN Vorkommen zu behandeln. Es erscheint in der Nähe des unteren Randes des Skripts (Zeilen 106-108 in NE.Johnson.R) und genau dort, wo ich den Fehler erhalte (Zeile 101 in NE.Johnson.R). Was könnte vielleicht für den Fehler relevant sein, den ich bekomme?
# insertion by Boda Martin to handle with NA/NaN occurrences
xsb.adtest[which(is.na(xsb.adtest))] <- 0
xsl.adtest[which(is.na(xsl.adtest))] <- 0
xsu.adtest[which(is.na(xsu.adtest))] <- 0
Jede Hilfe, Anleitung oder sanftes Anstupsen in die richtige Richtung wäre sehr willkommen.
Hier ist der Link, um das Paket herunterzuladen, wenn Sie den Code sehen möchten: https://cran.r-project.org/web/packages/Johnson/index.html
Vielen Dank, Rachel
Brilliant, danke :) – Rachel