現在,我只是用這樣的: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