Wie kann eine Funktion mithilfe von Variablen in einem Datenrahmen erstellt werden?

Mireia Plà

Ich bin mir sicher, dass die Frage etwas dumm ist (sorry) ... Ich versuche, eine Funktion mit verschiedenen Variablen zu erstellen, die ich in einem Datenrahmen gespeichert habe. Die Funktion ist wie folgt:

mlr_turb <- function(Cond_in, Flow_in, pH_in, pH_out, Turb_in, nm250_i, nm400_i, nm250_o, nm400_o){

     Coag = (+0.032690 + 0.090289*Cond_in + 0.003229*Flow_in - 0.021980*pH_in - 0.037486*pH_out 
             +0.016031*Turb_in  -0.026006*nm250_i +0.093138*nm400_o - 0.397858*nm250_o - 0.109392*nm400_o)/0.167304

    return(Coag)
    }

m4_turb <- mlr_turb(dataset)  

Das Problem ist, wenn ich versuche, meine Funktion in einem Datenrahmen (mit demselben Namen von Variablen) auszuführen. Es erkennt meine Variablen nicht und zeigt diese Meldung an:

Error in mlr_turb(dataset) : 
  argument "Flow_in" is missing, with no default

Tatsächlich gibt es aber auch alle Variablen.

Ich glaube, ich habe eine falsche Reihenfolge in der Funktion, die es ermöglicht, die Variablen aus dem Datensatz zu übernehmen. Ich habe viel darüber gesucht, aber keine Antwort gefunden ...

Erdbeben

Beim Schreiben tritt ein Standardproblem auf, Rdas mit der Frage von standard evaluation(SE) vs non standard evaluation(NSE) zusammenhängt. Wenn Sie mehr Elemente benötigen, können Sie sich diesen Blog-Beitrag ansehen, den ich geschrieben habe

Ich denke, der bequemste Weg, eine Funktion mit Variablen zu schreiben, besteht darin, Variablennamen als Argumente für die Funktion zu verwenden.

Nehmen wir noch einmal das @ Myon-Beispiel.

# a simple function that takes x, y and z as arguments 
myFun <- function(x, y, z){
  result <- (x + y)/z
  return(result)
}

Die Frage ist, wo Rdie Werte hinter den Namen zu finden sind x, yund z. In einer Funktion, Rwird zunächst in der Funktion Umgebung suchen (hier x, yund zals Parameter definiert ist ) , dann wird es im globalen Umfeld aussieht und dann wird es an den verschiedenen Paketen aussieht angebracht.

In myFun, Rerwartet Vektoren. Wenn Sie einen Spaltennamen angeben, wird ein Fehler angezeigt. Was passiert, wenn Sie einen Spaltennamen angeben möchten? Sie müssen sagen, Rdass der von Ihnen angegebene Name einem Wert im Bereich eines Datenrahmens zugeordnet werden sollte. Sie können zum Beispiel so etwas tun:

myFun <- function(df, col1 = "x", col2 = "y", col3 = "z"){
  result <- (df[,col1] + df[,col2])/df[,col3]
  return(result)
}

In diesem Aspekt können Sie mit data.tablepackage noch viel weiter gehen . Wenn Sie Funktionen schreiben, die Variablen aus einem Datenrahmen verwenden müssen, empfehlen wir Ihnen, sich dieses Paket anzusehen

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie kann eine Prozentmatrix basierend auf einem Datenrahmen erstellt werden?

Gibt es eine Groupby-Funktion, mit der ein neuer Datenrahmen von Namen bis zu einem Unterstrich erstellt werden kann?

Wie kann eine Teilmenge von Datenrahmen2 abhängig von den Werten in Datenrahmen1 erstellt und alle Teilmengen in einem Datenrahmen in R gestapelt werden?

Wie kann eine Tabelle von nrow über eine Reihe von Datenrahmen hinweg effizient erstellt werden?

Wie kann ich mithilfe von Closure in Javascript auf Variablen in einem anderen Bereich innerhalb einer Funktion zugreifen?

Wie kann eine stundenweise Berechnung in einem Datenrahmen mithilfe eines Zeitstempels in Python durchgeführt werden?

Wie kann eine parametrisierte Abfrage mit dem Operator AND und Like mithilfe von PDO erstellt werden?

Wie kann eine JPA-Anwendung mit mehreren Repositorys mithilfe von Bean erstellt werden?

Wie kann ich eine Funktion erstellen, die eine Liste iteriert und gleichzeitig eine neue Spalte in einem Datenrahmen erstellt?

Wie kann ich eine Funktion zum Berechnen von Variablen mit zwei Datenrahmen erstellen?

Wie kann eine große Anzahl von Spalten in R mithilfe einer benutzerdefinierten Funktion mit pdftools- und HTML-Links gleichzeitig auf einen Datenrahmen mutiert werden?

Wie kann eine Theano-Funktion mithilfe von Multiprocessing parallel geschaltet werden?

Wie kann ein Verzeichnispfad mithilfe von Variablen angegeben werden?

Wie kann eine Fehlermeldung in einem Json mithilfe von ResponseStatusException beim Spring-Start angezeigt werden?

Wie kann eine Liste von (unterschiedlichen) Werten aus einer Variablen erstellt werden, die durch Kommas getrennte Einträge enthält?

Wie kann eine Spalte mit Zeichenfolgen in einem Datenrahmen geschwenkt werden?

Wie kann in der Algorithmusanalyse festgestellt werden, ob eine Funktion von einem bestimmten asymptotischen Typ ist?

Wie kann eine Funktion auf einem Vektor von Varianten effizient berechnet werden?

Wie erstelle ich eine Funktion, die nicht von einem Konstruktor ausgeführt werden kann?

Wie kann Scala mithilfe von Schutzklauseln eine Funktion vorzeitig beenden?

Wie kann eine Instanz von QNetworkAccessManager erstellt werden?

Wie kann eine Vorschau einer Datei von einem generierten Link mithilfe der von Cloudfront signierten URL angezeigt werden?

Wie kann eine Liste von Datenrahmen effizient verkettet werden?

Wie kann eine Funktion erst ausgeführt werden, nachdem alle verzögerten Funktionen mithilfe von jQuery aufgelöst wurden?

Wie kann der Zugriff auf eine Funktion basierend auf der letzten Zugriffszeit mithilfe von Threads gesteuert werden?

Kann eine DataGridViewRow in einer Funktion unabhängig von einem Steuerelement erstellt und dann von der aufrufenden Prozedur zu einem beliebigen Steuerelement hinzugefügt werden?

Kann eine DataGridViewRow in einer Funktion unabhängig von einem Steuerelement erstellt und dann von der aufrufenden Prozedur zu einem beliebigen Steuerelement hinzugefügt werden?

Wie kann ich eine Konfigurationskarte aus einem Verzeichnis von Dateien erstellen, für die Vorlagen erstellt werden müssen?

Wie kann eine Liste von Indizes basierend auf dem Wert und einem neuen Array daraus erstellt werden? MATLAB

TOP Liste

  1. 1

    Glassfish v3.0.1 im Vergleich zu Oracle GlassFish Server 3.0.1 - Gibt es einen technischen Grund, die kommerzielle Version zu verwenden?

  2. 2

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  3. 3

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  4. 4

    Modbus Python Schneider PM5300

  5. 5

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  6. 6

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  7. 7

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  8. 8

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  9. 9

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  10. 10

    Wie vergleicht man scala.xml-Knoten richtig?

  11. 11

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  12. 12

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  13. 13

    HTTPS-Verbindung mit Moneris-Servern in Curl

  14. 14

    Elasticsearch startet nicht nach dem Laden in viele Daten

  15. 15

    Schneller Algorithmus zum Suchen nach Teilzeichenfolgen in einer Zeichenfolge

  16. 16

    So übergeben Sie eine Variable in json, um Daten zu erhalten

  17. 17

    Hervorheben der SQL-Syntax in Visual Studio 2017

  18. 18

    Unterschied zwischen einfachen und doppelten Anführungszeichen in Javascript

  19. 19

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  20. 20

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  21. 21

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

heißlabel

Archiv