我希望有人可以帮助我解决这个问题。假设我必须像下面这样的数据帧。
A B C D
1 1 1 10 100
2 2 1 30 200
3 1 2 30 200
4 2 2 10 400
A B C D
1 1 1 10 300
2 2 1 20 400
3 1 2 30 300
4 2 2 20 600
Run Code Online (Sandbox Code Playgroud)
我想要的结果是创建一个组合框架,在 C 和 D 列中给出平均值,给出 A 和 B 列中值的完整组合匹配,产生一个如下所示的框架:
A B C D
1 1 1 10 200
2 2 1 25 300
3 1 2 30 250
4 2 2 …Run Code Online (Sandbox Code Playgroud) 如果我想标准化第 2 列和第 3 列(每列单独标准化),这可行吗?
df[c(2:3)] <- scale(df[c(2:3)])
Run Code Online (Sandbox Code Playgroud) 我试图将 ggplot 输出限制为仅感兴趣的范围,并排除热图两侧的无关灰色边距。我应该向我的函数添加什么参数?
heatmap <- function(df, .x_var, .y_var, .z_var) {
x_var <- sym(.x_var)
y_var <- sym(.y_var)
z_var <- sym(.z_var)
ggplot(df, aes(x = !! x_var, y = !! y_var, fill = !! z_var)) +
geom_tile(colour = "black") +
scale_x_discrete(limits = c(2008:2018)) +
theme(axis.text.y = element_text(size = 6))
}
Run Code Online (Sandbox Code Playgroud)