arrange_ () mehrere Spalten mit absteigender Reihenfolge

Ich versuche, @ zu verwendarrange_() mit String-Eingabe und in einer der Spalten in absteigender Reihenfolge.

library(dplyr) # R version 3.3.0 (2016-05-03) , dplyr_0.4.3 
# data
set.seed(1)
df1 <- data.frame(grp = factor(c(1,2,1,2,1)),
                  x = round(runif(5,1,10), 2))

#   grp    x
# 1   1 3.39
# 2   2 4.35
# 3   1 6.16
# 4   2 9.17
# 5   1 2.82

Below ist das, was ich erreichen muss:

df1 %>% arrange(grp, -x)
df1 %>% arrange(grp, desc(x))
#   grp    x
# 1   1 6.16
# 2   1 3.39
# 3   1 2.82
# 4   2 9.17
# 5   2 4.35

In meinem Fall ist die zweite Spalte eine Zeichenfolge:

#dynamic string
myCol <- "x"

#failed attempts
df1 %>% arrange_("grp", desc(myCol))

Error: falsche Größe (1), erwartet: 5

df1 %>% arrange_("grp", "desc(myCol)")

Error: Objekt 'myCol' nicht gefunden

df1 %>% arrange_(c("grp", "desc(myCol)"))
#wrong output
#   grp    x
# 1   1 3.39
# 2   1 6.16
# 3   1 2.82
# 4   2 4.35
# 5   2 9.17

Ich habe eine ähnliche Lösung gefundenHie, konnte es aber nicht zum Laufen bringen:

df1 %>% arrange_(.dots = c("grp", "desc(myCol)"))

Error: Objekt 'myCol' nicht gefunden

Fühlt sich an, als würde mir etwas sehr Offensichtliches fehlen, Ideen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage