例如,假设我有两个不同尺度的变量;
df = data.table::data.table(
date = seq(from = lubridate::ymd("2010-01-01"),
to = lubridate::ymd("2020-01-01"), length = 100),
var1 = rpois(n = 100, lambda = 84),
var2 = rpois(n = 100, lambda = 300)
)
Run Code Online (Sandbox Code Playgroud)
如果我决定使用双 y 轴图,请使用代码;
library(ggplot)
df |>
ggplot(aes(x = date)) +
geom_line(aes(y = var1), col = "royalblue") +
geom_line(aes(y = var2), col = "red") +
scale_y_continuous(
name = "var1",
sec.axis = sec_axis(~., name = "var2")
) +
theme_light()
Run Code Online (Sandbox Code Playgroud)
结果如下;
如何调整第二个 y 轴的限制,例如从 250 开始到 400 结束?这将使线条更加靠近,从而可以更清晰地了解趋势。
假设我有一个数据框,如下所示;
假设我希望选择列名称中包含“cases”的列,和/或如果我希望选择数字列,如何使用 data.table 语法实现此目的?
即相当于代码tidyverse;
df <- df |>
select(contains("cases"))
Run Code Online (Sandbox Code Playgroud)
或者
df <- df |>
select(where(is.numeric))
Run Code Online (Sandbox Code Playgroud)
结果是;