die alte select_()
Funktion verwenden, konnte ich auf einmal einen benannten Vektor in ausgewählte und Wechselposition und Spaltennamen übergeben:Wie übergibt man einen benannten Vektor an dplyr :: select mit Quoros?
my_data <- data_frame(foo = 0:10, bar = 10:20, meh = 20:30)
my_newnames <- c("newbar" = "bar", "newfoo" = "foo")
move_stuff <- function(df, newnames) {
select_(df, .dots = newnames)
}
move_stuff(my_data, newnames = my_newnames))
# this is the desired output
# A tibble: 4 x 2
newbar newfoo
<int> <int>
1 10 0
2 11 1
3 12 2
4 13 3
Ich habe versucht, etwas ähnliches quosures und Spleißen tun mit - Auswählen von Spalten funktioniert gut, aber die Die Namen der Vektoren (und damit die gleichzeitige Umbenennung von Spalten) scheinen ignoriert zu werden. Sowohl der folgenden Rückgabedatenrahmen mit Spalten namens bar
und foo
, aber nicht newbar
und newfoo
:
move_stuff2 <- function(df, newnames) {
select(df, !!!newnames)
}
# returns df with columns bar and foo
move_stuff2(my_data, quo(my_newnames))
move_stuff2(my_data, quos(my_newnames))
Gibt es eine Möglichkeit, einen Namen Vektor zu verwenden, um die neue NSE Methodologie mit umbenennen und Spalten neu anordnen?