현재 특정 플롯을 만들기위한 기능을 작성 중입니다. 플롯은 그룹 별 상대 평균 편차 (각각의 효과 크기)를 그랜드 샘플 평균과 비교하고 그룹당 전체 평균 편차를 수평선으로 표시합니다. 나는 이미 플롯에서 그룹의 다른 색상을 얻는 방법을 찾았지만 그룹의 특정 색상으로 그 라인을 채색 할 수는 없습니다. 그때 컷오프 라인을위한 데이터 프레임을 생성컷오프 라인에 요인 별 색상 추가 R
require(reshape2)
df_aux <- data.frame(matrix(unlist(dev_list), nrow=length(dev_list), byrow=T), class = c(names(dev_list)))
colnames(df_aux) <- c(c(paste0("v", 1:10)), "class")
df_melt <- melt(df_aux)
:
이어서ml_list <- mapply(function(A, B) {
list(data.frame(x = c(-Inf, Inf), y = mean(A), cutoff = factor(paste(B, "Mean Deviation", sep = " "))))
}, dev_list, c(names(dev_list)))
I 플롯
a <- c(runif(10))
names(a) <- c(paste0("v", 1:10))
b <- c(runif(10))
names(b) <- c(paste0("v", 1:10))
c <- c(runif(10))
names(c) <- c(paste0("v", 1:10))
dev_list <- list(a,b,c)
names(dev_list) <- c("group1", "group2", "group3")
먼저 I 데이터를 용융 : 여기
일부 예시적인 데이터의 데이터 :require(ggplot2)
p <- ggplot(df_melt, aes(variable, value)) + geom_point(aes(colour = class))
지금까지 선을 삽입 할 때 선의 색상을 정의하기 위해 클래스 변수를 다시 참조하는 방법을 모르겠습니다. 지금까지 내 코드 :
Link to the plot as apparently I cannot include it in the post yet
내가 이미 geom_line의 AES 내부 같은 colour = class
을 퍼팅 시도했지만, 그것을하지 않았다 :
p <- p + lapply(ml_list, function(z) {geom_line(aes(x,y, linetype = cutoff), z)})
이후 줄거리 p
은 다음과 같습니다 작업. 나는 또한 How to assign colors to categorical variables in ggplot2 that have stable mapping?에서 설명 된 몇 가지 기술을 사용하려고 시도했으나 작동하지 못했습니다.
내 마지막 줄의 코드가 줄거리와 같은 방식으로 클래스 변수의 색을 사용하도록 올바른 색 지정을 도와 줄 수 있습니까?
미리 감사드립니다.
편집 : 다른 사람이 필요로하는 경우 : Brandons 솔루션이 작동하려면 위의 ml_list
에 색상 정의 변수를 포함해야합니다.
새로운 코드 라인 :
ml_list <- mapply(function(A, B) {
list(data.frame(x = c(-Inf, Inf), y = mean(A), cutoff = factor(paste(B, "Mean Deviation", sep = " ")), class = factor(paste0(B))))
}, dev_list, c(names(dev_list)))
이것은 완벽하게 작동합니다! 고마워! – LAP
문제가 해결되지 않았다는 것을 알았으므로 다시 열어야합니다. 선의 색상이 해당 점의 색상에 맞지 않습니다. – LAP
여러분의'scale_color_discrete (value = c ("my", "list", "of", "colors"))에 색상 추가하기' –