如何获得列中负值的向下直方图?
How to get a downward directed histogram for negative values in a column?
我有一列的值范围为 -10 到 +10。我想绘制一个直方图,其中负值频率向下显示,正值向上显示。如何做到这一点?
df8$Difference
[1] -2 6 7 -8 6 5 2 4 -3 1 9 3 -4 2 6 -1 11 5 2 8 15
[22] 0 9 -5 1 16 12 14 -7 -11 -8 1 1 11 6 3 2 -2 8 -5 NA -5
[43] 2 10 7 1 9 -5 7 4 5 9 NA 13 -1 2 5 6 9 4 0 3 -4
[64] 3 2 4 14 -9 12 6 0 6 6 -5 -1 -6 11 2 3 3 5 1 -5 6
[85] 19 15 -4 9 -1 -4 -4 -10 NA NA NA 0 0 15 7 -10 2 0 -5 -5 10
[106] -2 -8 18 1 -1 7 -5 -9 -6 -18 11 -1 NA 11 -4 7 5 20 3 2 0
[127] 2 2 11 -2 -5 0 6 -2 6 -2 -5 -1 -5 -6 3 -1 -9 -1 9 NA -6
[148] 4 -5 8 0 -2 1 9 3 9 -3 2 8 0 2 -4 6 4 -5
可以直接操作直方图对象:
histo <- hist(df8$difference)
histo$counts[1:4] <- -histo$counts[1:4]
plot(histo)
可重现的数据:
df8 <- structure(list(difference = c(-2, 6, 7, -8, 6, 5, 2, 4, -3, 1,
9, 3, -4, 2, 6, -1, 11, 5, 2, 8, 15, 0, 9, -5, 1, 16, 12, 14,
-7, -11, -8, 1, 1, 11, 6, 3, 2, -2, 8, -5, NA, -5, 2, 10, 7,
1, 9, -5, 7, 4, 5, 9, NA, 13, -1, 2, 5, 6, 9, 4, 0, 3, -4, 3,
2, 4, 14, -9, 12, 6, 0, 6, 6, -5, -1, -6, 11, 2, 3, 3, 5, 1,
-5, 6, 19, 15, -4, 9, -1, -4, -4, -10, NA, NA, NA, 0, 0, 15,
7, -10, 2, 0, -5, -5, 10, -2, -8, 18, 1, -1, 7, -5, -9, -6, -18,
11, -1, NA, 11, -4, 7, 5, 20, 3, 2, 0, 2, 2, 11, -2, -5, 0, 6,
-2, 6, -2, -5, -1, -5, -6, 3, -1, -9, -1, 9, NA, -6, 4, -5, 8,
0, -2, 1, 9, 3, 9, -3, 2, 8, 0, 2, -4, 6, 4, -5)),
class = "data.frame", row.names = c(NA, -165L))
由 reprex package (v0.3.0)
于 2020 年 2 月 21 日创建
我有一列的值范围为 -10 到 +10。我想绘制一个直方图,其中负值频率向下显示,正值向上显示。如何做到这一点?
df8$Difference
[1] -2 6 7 -8 6 5 2 4 -3 1 9 3 -4 2 6 -1 11 5 2 8 15
[22] 0 9 -5 1 16 12 14 -7 -11 -8 1 1 11 6 3 2 -2 8 -5 NA -5
[43] 2 10 7 1 9 -5 7 4 5 9 NA 13 -1 2 5 6 9 4 0 3 -4
[64] 3 2 4 14 -9 12 6 0 6 6 -5 -1 -6 11 2 3 3 5 1 -5 6
[85] 19 15 -4 9 -1 -4 -4 -10 NA NA NA 0 0 15 7 -10 2 0 -5 -5 10
[106] -2 -8 18 1 -1 7 -5 -9 -6 -18 11 -1 NA 11 -4 7 5 20 3 2 0
[127] 2 2 11 -2 -5 0 6 -2 6 -2 -5 -1 -5 -6 3 -1 -9 -1 9 NA -6
[148] 4 -5 8 0 -2 1 9 3 9 -3 2 8 0 2 -4 6 4 -5
可以直接操作直方图对象:
histo <- hist(df8$difference)
histo$counts[1:4] <- -histo$counts[1:4]
plot(histo)
可重现的数据:
df8 <- structure(list(difference = c(-2, 6, 7, -8, 6, 5, 2, 4, -3, 1,
9, 3, -4, 2, 6, -1, 11, 5, 2, 8, 15, 0, 9, -5, 1, 16, 12, 14,
-7, -11, -8, 1, 1, 11, 6, 3, 2, -2, 8, -5, NA, -5, 2, 10, 7,
1, 9, -5, 7, 4, 5, 9, NA, 13, -1, 2, 5, 6, 9, 4, 0, 3, -4, 3,
2, 4, 14, -9, 12, 6, 0, 6, 6, -5, -1, -6, 11, 2, 3, 3, 5, 1,
-5, 6, 19, 15, -4, 9, -1, -4, -4, -10, NA, NA, NA, 0, 0, 15,
7, -10, 2, 0, -5, -5, 10, -2, -8, 18, 1, -1, 7, -5, -9, -6, -18,
11, -1, NA, 11, -4, 7, 5, 20, 3, 2, 0, 2, 2, 11, -2, -5, 0, 6,
-2, 6, -2, -5, -1, -5, -6, 3, -1, -9, -1, 9, NA, -6, 4, -5, 8,
0, -2, 1, 9, 3, 9, -3, 2, 8, 0, 2, -4, 6, 4, -5)),
class = "data.frame", row.names = c(NA, -165L))
由 reprex package (v0.3.0)
于 2020 年 2 月 21 日创建