R 用于在ggplot2中打印的规格化系列
我有一个我想要绘制的数据帧,由以下代码生成R 用于在ggplot2中打印的规格化系列,r,ggplot2,R,Ggplot2,我有一个我想要绘制的数据帧,由以下代码生成 df_rn1 = as.data.frame(cbind(rnorm(40, 1, 1), rep("rn1", 40))) df_rn2 = as.data.frame(cbind(rnorm(40, 10, 1), rep("rn2", 40))) df_rn3 = as.data.frame(cbind(rnorm(40, 100, 1), rep("rn3", 40))) df_test = rbind(df_rn1, df_rn2, df_
df_rn1 = as.data.frame(cbind(rnorm(40, 1, 1), rep("rn1", 40)))
df_rn2 = as.data.frame(cbind(rnorm(40, 10, 1), rep("rn2", 40)))
df_rn3 = as.data.frame(cbind(rnorm(40, 100, 1), rep("rn3", 40)))
df_test = rbind(df_rn1, df_rn2, df_rn3)
colnames(df_test) <- c("value", "type")
是否可以直接在ggplot代码中按类型进行规范化
Thx您可以使用
缩放
函数来规范化值
df_test %>%
mutate(value = scale(value)) %>%
ggplot(aes(x = rep(1:40, 3), y = value, color=type))+
geom_line()
这个怎么样
library(tidyverse);
df_test %>%
group_by(type) %>%
mutate(
value = as.numeric(as.character(value)),
value.scaled = (value - mean(value)) / sd(value),
idx = 1:n()) %>%
ggplot(aes(idx, value.scaled, colour = type)) + geom_line()
请注意,值在
类型中缩放;不确定您的目标是什么,有关全局扩展,请参阅@ManishSaraswat的答案 您好,谢谢,但是结果应该是按类型rn1、rn2、rn3。请看上面aes中的颜色。嗨,是的。我的意思是在类型内缩放
library(tidyverse);
df_test %>%
group_by(type) %>%
mutate(
value = as.numeric(as.character(value)),
value.scaled = (value - mean(value)) / sd(value),
idx = 1:n()) %>%
ggplot(aes(idx, value.scaled, colour = type)) + geom_line()