Seite 1 von 1

stringr Syntax

Verfasst: Fr Mär 18, 2022 8:57 am
von wbart
Hallo,

ich habe folgenden funktionierende Syntax gefunden:

mutate_at("geneSymbol", str_replace, "(;!.*)","" )

Original kommt von https://datascience.stackexchange.com/q ... tring-in-r


Kann mir jemand erklären warum der Ausdrusck str_replace einfach so zwischen zwei Kommas steht, ohne Klammern . Ich hätte jetzt str_replace("geneSymbol", "(;!.*)","") oder so erwartet.

VLG
wbart

Re: stringr Syntax

Verfasst: Fr Mär 18, 2022 10:33 am
von ruedi_br
Hallo wbart,

"mutate_at" scheint wohl etwas veraltet zu sein, jedenfalls behauptet das die Hilfe
Mutate multiple columns
Description[Superseded]
Scoped verbs (_if, _at, _all) have been superseded by the use of across() in an existing verb. See vignette("colwise") for details.
Und nach dem Hilfebeispiel wird die Tabelle vor der "str-"Funktion aufgerufen
mutate_at(.tbl, .vars, .funs, ..., .cols = NULL)
.
Ich vermute mal, dass der Datensatz mit den "..." irgendwie implizit mit verwurstet wird :)
VG Ruedi

Re: stringr Syntax

Verfasst: Fr Mär 18, 2022 10:47 am
von wbart
man muss ja nicht alles verstehen :?
Merci

Re: stringr Syntax

Verfasst: Fr Mär 18, 2022 2:33 pm
von bigben
Hallo wbart,

mutate_at kommt aus dplyr. Du hast also ein Verstehensproblem mit der Syntax eine dplyr -Funktion, nicht mit der einer stringr-Funktion.

Nun, im Allgemeinen gehört das Klammerpaar (...) nicht zum Namen einer Funktion, sondern ruft die Funktion auf. Hier soll ja der Funktion mutate_at gesagt werden, dass es da eine schöne Funktion gibt und welchen Namen die hat. Wenn man die Funktion aufrufen und das Ergebnis dieses Aufrufs an mutate_at übergeben wollte, dann würden da Klammern hinter gehören.

LG,
Bernhard