【发布时间】:2018-05-10 10:35:38
【问题描述】:
我有多个 .csv 文件,每个文件都有一个列(称为:数据),我想相互比较。但首先,我必须将每个文件的列中的值分组。最后,我希望在一个图中有多条彩色“线”,每组的平均值。我将在下面描述我用来获取我想要的图表的过程。这适用于单个文件,但我不知道如何使用 ggplot 在一个图中添加多个文件的多个“行”。
这是我目前得到的:
data = read.csv(file="my01data.csv",header=FALSE, sep=",")
单个 .csv 文件如下所示,但没有标题
ID Data Range
1,63,5.01
2,61,5.02
3,65,5.00
4,62,4.99
5,62,4.98
6,64,5.01
7,71,4.90
8,72,4.93
9,82,4.89
10,82,4.80
11,83,4.82
10,85,4.79
11,81,4.80
获取数据后,我将其分组为以下几行:
data["Group"] <- NA
data[(data$Range>4.95), "Group"] <- 5.0
data[(data$Range>4.85 & data$Range<4.95), "Group"] <- 4.9
data[(data$Range>4.75 & data$Range<4.85), "Group"] <- 4.8
最终数据如下:
myTable <- "ID Data Range Group
1 63 5.01 5.00
2 61 5.02 5.00
3 65 5.00 5.00
4 62 4.99 5.00
5 62 4.98 5.00
6 64 5.01 5.00
7 71 4.90 4.90
8 72 4.93 4.90
9 72 4.89 4.90
10 82 4.80 4.80
11 83 4.82 4.80
10 85 4.79 4.80
11 81 4.80 4.80"
myData <- read.table(text=myTable, header = TRUE)
要绘制此数据框,我使用以下几行:
( pplot <- ggplot(data=myDAta, aes(x=myDAta$Group, y=myDAta$Data))
+ stat_summary(fun.y = mean, geom = "line", color='red')
+ xlab("Group")
+ ylab("Data")
)
结果如下图:
【问题讨论】: