Das Geschäft, für das ich arbeite, macht ELISA-Analyse die ganze Zeit (der Immunassay), und so programmiere ich eine Funktion, die eine csv-Formatversion der Maschinenauslesung für die optischen Dichten und führt eine statistische Regression als 4PL-Analyse bezeichnet. Es ist im Wesentlichen eine 4pl für Dummies-Funktion, die das DRC-Paket verwendet. Ich habe den Großteil des Codes geschrieben, aber jetzt versuche ich es tatsächlich in ein Funktionsformat zu setzen (es läuft gut außerhalb der Funktionsstruktur).Benutzer-Funktion, Formularobjekte definiert, aber nicht durch Code gefunden
Hier ist mein Problem. Ich bin die Definition der Formalen() meiner Funktion wie so:
elisa<-function(file="data.csv",wd="~/Desktop",standards=c(1,2),orient=horizontal,
limit=TRUE,graph.4pl=FALSE,Conc.graph=FALSE){ body of function}
Es ist nicht besonders wichtig, was die anderen Formalen im Moment, aber ich laufe in zwei Probleme. Hier ist der Code für den ersten Teil des Blocks.
Wenn die Gemeinschaft in ihrer Weisheit denkt, dass ich mehr einschließen muss, werde ich, aber lassen wir es jetzt für jetzt lassen.
Das Problem:
elisa("Mock data.csv")
Error in setwd(wd[1]) : object 'wd' not found
Dieser Fehler erscheint. Wie Sie aber sehen können, ist wd
definiertformals(elisa)
$file
[1] "data.csv"
$wd
[1] "~/Desktop"
$standards
c(1, 2)
$orient
horizontal
$limit
[1] TRUE
$graph.4pl
[1] FALSE
$Conc.graph
[1] FALSE
Außerdem, wenn ich wd als "~/Desktop"
im globalen Umfeld vordefinieren, geht der Fehler für wd weg, aber ich bekomme diese
wd<-"~/Desktop"
elisa("Mock data.csv")
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
'file' must be a character string or connection
Entweder ich bin Ich überlege völlig, wie ich meine Formals definieren kann, oder ich stoße auf ein sehr merkwürdiges Argument, bei dem es Probleme gibt. Irgendwelche Ideen?
Warum den Pfad nicht in das Argument 'file' aufnehmen? Außerdem bezweifle ich, dass es ein Problem ist, das Sie sehen, aber muss "horizontal" eine Zeichenkette sein? –
Sie haben Recht. Sobald ich das Hauptproblem gelöst hatte, wurde horizontal als Objekt und nicht als String behandelt. Der nächste Fehler wurde identifiziert :) – Eich