现在,我只是用这样的:ggplot2中的“Bin”连续值基于标准以获得更多不同的颜色(如因子级着色)?
test_data$level <- rep("", nrow(test_data))
test_data[test_data$value <= 1, ]$level <- "1"
test_data[test_data$value > 1 & test_data$value <= 2, ]$level <- "2"
...
test_data[test_data$value > 4 & test_data$value <= 5, ]$level <- "5"
只是不知道是否有更好的方法R中做到这一点,还是有办法简单地通过ggplot2
应用一些scale
参数做了归类。
可能有一些方法来解决这个问题,所以很难对我的问题进行恰当的说明。这里的要点......我有一些数据,像这样:
set.seed(123)
test_data <- data.frame(var1 = rep(LETTERS[1:3], each = 5),
var2 = rep(letters[1:5], 3),
value = runif(30, 1, 5))
test_data
var1 value
1 A 2.150310
2 B 4.153221
3 C 2.635908
4 D 4.532070
5 E 4.761869
6 F 1.182226
7 G 3.112422
8 H 4.569676
9 I 3.205740
10 J 2.826459
我有更多的数据点,和我密谋是这样的:
library(ggplot2)
p <- ggplot(test_data, aes(x = var1, y = var2, colour = value))
p <- p + geom_jitter(position = position_jitter(width = 0.1, heigh = 0.1))
p
其中给出类似这样:
我的实际数据来自主观评估,评分为1-5分,但我将相似的问题集中在一起,并将它们平均,以便它们一致不再是整数。
我正在绘制每个因子组合的评分,以可视化哪些组合产生更高的评分。默认的连续缩放并不真正“弹出”,我想要获得颜色比例以将这些值(0-1,1-2,... 4-5)的“元素”处理为scale_colour_discrete
确实是因素。
所以,我的问题(S):
1)是否有可能与GGPLOT2到“bin”的这些莫名其妙通过scale_colour_continuous
这样我就可以得到默认因子水平色彩方案适用即使这是连续的数据?
2)如果没有,是否有一种更简单的方法来创建一个新的向量,其中我根据标准将数值替换为数字/字母?我是一个R新手,所以除了一堆if()
或条件语句(test_data[test_data > 0 & test_data < 1, "values"] <- "a"
或类似的东西)我不确定。
我不熟悉'transform'参数 - 很好知道。虽然更好的是了解'cut'命令!这正是我想要通过条件语句手动合并向量来拯救我的那种事情! – Hendy