将多个累积列转换为标准形式并在 R 中绘制
Convert multiple cumulative columns to normal form and plot in R
所以我有一个以非常简单的方式表示的以下形式的数据框:
Sno
Box1
Box2
1
5
8
2
7
9
3
13
12
但是它是由50个这样的盒子和100个这样的序列号组成的
现在我面临两个问题:
首先,我想把这个累积数据转换成普通数据
Sno
Box1
Box2
1
5
8
2
2
1
3
6
3
其次,我想在图表中绘制每一列。因此,plot 1 将为 Box 1 生成一个图形,其中 SNo 作为 x 轴,box 1 的值作为 y 轴。类似地,plot 2 将为 Box 2 生成一个图形,其中 SNo 作为 x 轴,box 2 的值作为 y 轴,依此类推。
因此最终结果将是 50 张图表,将使用 R 显示每天的数据。
你的数据是(请提供代码,不是表格/图片)
df <- data.frame(Sno= 1:3, Box1= c(5,7,13), Box2= c(8,9,12))
我们可以简单地使用行之间的差异来使其“正常”而不是累积:
df <- cbind.data.frame(Sno= df$Sno,
rbind.data.frame(df[1, 2:ncol(df)],
df[2:(nrow(df)), 2:ncol(df)] -
df[1:(nrow(df)-1), 2:ncol(df)])
)
您可以像这样绘制所有列:
for(col_i in names(df)[-1]){
plot(df$Sno, df[ , col_i], ylab= col_i)
}
所以我有一个以非常简单的方式表示的以下形式的数据框:
Sno | Box1 | Box2 |
---|---|---|
1 | 5 | 8 |
2 | 7 | 9 |
3 | 13 | 12 |
但是它是由50个这样的盒子和100个这样的序列号组成的
现在我面临两个问题:
首先,我想把这个累积数据转换成普通数据
Sno | Box1 | Box2 |
---|---|---|
1 | 5 | 8 |
2 | 2 | 1 |
3 | 6 | 3 |
其次,我想在图表中绘制每一列。因此,plot 1 将为 Box 1 生成一个图形,其中 SNo 作为 x 轴,box 1 的值作为 y 轴。类似地,plot 2 将为 Box 2 生成一个图形,其中 SNo 作为 x 轴,box 2 的值作为 y 轴,依此类推。
因此最终结果将是 50 张图表,将使用 R 显示每天的数据。
你的数据是(请提供代码,不是表格/图片)
df <- data.frame(Sno= 1:3, Box1= c(5,7,13), Box2= c(8,9,12))
我们可以简单地使用行之间的差异来使其“正常”而不是累积:
df <- cbind.data.frame(Sno= df$Sno,
rbind.data.frame(df[1, 2:ncol(df)],
df[2:(nrow(df)), 2:ncol(df)] -
df[1:(nrow(df)-1), 2:ncol(df)])
)
您可以像这样绘制所有列:
for(col_i in names(df)[-1]){
plot(df$Sno, df[ , col_i], ylab= col_i)
}