在R中创建包含最小值和最大值的平均值折线图。


要在R中创建包含最小值和最大值的平均值折线图,我们首先需要为行平均值、行最小值和行最大值创建列,然后可以使用ggplot2包的geom_line函数和geom_ribbon函数,如下例所示。

示例

以下代码片段创建一个示例数据框。

x<-rpois(20,2)
y<-rpois(20,5)
z<-rpois(20,5)
df<-data.frame(x,y,z)
df

输出

创建以下数据框

   x y z
 1 1 3 6
 2 3 5 6
 3 2 4 4
 4 4 4 6
 5 1 8 2
 6 4 7 2
 7 0 3 3
 8 1 5 3
 9 0 4 4
10 3 4 6
11 3 5 5
12 3 4 5
13 2 2 6
14 0 9 4
15 4 6 8
16 1 3 8
17 0 6 1
18 4 1 5
19 2 3 4
20 3 5 4

现在,要在上面创建的数据框 (df) 上创建行平均值、行最小值和行最大值列,请将以下代码添加到上面的代码片段中。

x<-rpois(20,2)
y<-rpois(20,5)
z<-rpois(20,5)
df<-data.frame(x,y,z)

df$Mean<-rowMeans(df)
df$Min<-pmin(x,y,z)
df$Max<-pmax(x,y,z)
df

执行上述脚本后,将生成以下输出(由于随机化,此输出会在您的系统上有所不同)。

   x y z   Mean Min Max
1  1 3 6 3.333333 1 6
2  3 5 6 4.666667 3 6
3  2 4 4 3.333333 2 4
4  4 4 6 4.666667 4 6
5  1 8 2 3.666667 1 8
6  4 7 2 4.333333 2 7
7  0 3 3 2.000000 0 3
8  1 5 3 3.000000 1 5
9  0 4 4 2.666667 0 4
10 3 4 6 4.333333 3 6
11 3 5 5 4.333333 3 5
12 3 4 5 4.000000 3 5
13 2 2 6 3.333333 2 6
14 0 9 4 4.333333 0 9
15 4 6 8 6.000000 4 8
16 1 3 8 4.000000 1 8
17 0 6 1 2.333333 0 6
18 4 1 5 3.333333 1 5
19 2 3 4 3.000000 2 4
20 3 5 4 4.000000 3 5

加载ggplot2包并在上面创建的数据框上创建包含最小值和最大值的平均值折线图,请将以下代码添加到上面的代码片段中。

library(ggplot2)

ggplot(df,aes(1:nrow(df),Mean))+geom_line()+geom_ribbon(aes(1:nrow(df),ymax=Max,ymin=Min),alpha=0.1)

输出

如果您将以上所有代码片段作为单个程序执行,它将生成以下输出。

更新于:2021年11月11日

884 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告