【发布时间】:2018-02-27 18:41:19
【问题描述】:
我正在尝试根据某个列排列小标题(但根据变量动态设置的名称设置列)。
以下是我目前正在尝试但出现错误的代码。第二次粘贴代码有效(我在符号的列名中硬编码了我想根据变量设置的符号)。
library(tidyverse)
group_var <- "symbol"
date_seq <- seq(as.Date("2000-01-01"), as.Date("2009-12-31"), by = "days")
test_tbl <- tibble::tibble("date" = rep(date_seq, 3),
"symbol" = rep(c("test3", "test1", "test2"), each = length(date_seq)),
"value" = c(rnorm(length(date_seq), sd = 0.05),
rnorm(length(date_seq), sd = 0.05),
rnorm(length(date_seq), sd = 0.05)))
order_var <- c("test1", "test2", "test3")
test_tbl_final <- test_tbl %>%
dplyr::arrange(factor(!!group_var, levels = order_var), date)
以下是有效的代码并显示了我要完成的工作:
library(tidyverse)
date_seq <- seq(as.Date("2000-01-01"), as.Date("2009-12-31"), by = "days")
test_tbl <- tibble::tibble("date" = rep(date_seq, 3),
"symbol" = rep(c("test3", "test1", "test2"), each = length(date_seq)),
"value" = c(rnorm(length(date_seq), sd = 0.05),
rnorm(length(date_seq), sd = 0.05),
rnorm(length(date_seq), sd = 0.05)))
order_var <- c("test1", "test2", "test3")
test_tbl_final <- test_tbl %>%
dplyr::arrange(factor(symbol, levels = order_var), date)
【问题讨论】: