데이터 테이블이 포함 된 프로젝트를 진행 중입니다. 데이터 테이블 셀을 열의 비슷한 값으로 색칠하고 싶습니다. 데이터 테이블에서 색상을 선택할 수 있도록 아래 코드를 수정하는 방법을 이해하는 데 어려움을 겪고 있습니다. 코드는 Stackoverflow에서 찾은 다른 예제에서 가져 왔습니다.
set.seed(1)
df <- cbind.data.frame(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE))
brks <- apply(df, 2, quantile, probs=seq(.05, .95, .05), na.rm=T)
clrs <- apply( brks, 2, function(x) round(seq(255, 40, length.out = length(x)+1), 0)
%>% {paste0("rgb(255,", ., ",", ., ")")})
eval(parse(text=paste0("datatable(df) ", paste(sapply(1:ncol(df), function(i)
paste0("%>% formatStyle(names(df)[",i,"], backgroundColor = styleInterval(brks[,",i,"],
clrs[,",i,"]))") ), collapse = " " ))))
원하는 색상을 얻기 위해 paste0의 clrs 행과 rgb 함수를 수정하는 방법을 이해하지 못합니다. 이 두 덩어리를 모두 다루었지만 어떻게 작동하는지 알 수 없습니다. 누군가가 위의 코드를 사용하여 정확히 색상을 지정할 수있는 방법을 설명해 줄 수 있습니까? 파란색 또는 녹색을 얻거나 한 색상에서 다른 색상으로 페이드하고 싶다면 어떻게해야할까요?
나는 매우 붙어 있습니다. 어떤 도움을 주시면 감사하겠습니다! 감사합니다!
First eval
는 이름, 전화 또는 기타를 평가하는 데 사용됩니다.이 경우 이름입니다. 나는 각 부분을 설명 할 수있는 더 간단한 코드를 제안한다. 그것은 당신의 부분이 될 것이다.
library(DT)
# the dataset
df <- cbind.data.frame(matrix(round(rnorm(50), 3), 10))
# the color wanted
sample_color <- data.frame(col1 = c(0.2, 0.1, 0.6),
col2 = c(0.5, 0.1, 0.3))
datatable(df) %>%
formatStyle('1', color = eval(call(name = "rgb",
matrix(sample_color$col1, ncol = 3))))
그matrix
때문에 우리는 사용해야 합니다 . eval
과 call
: 당신이 직접 프리젠 테이션 페이지로 이동하면 당신은 아마 더 잘 이해됩니다 만 기본 R입니다 평가 , 전화 .
편집 1 데이터 테이블 셀의 배경색 변경
datatable(df) %>%
formatStyle('1', color = eval(call(name = "rgb",
matrix(sample_color$col1, ncol = 3))),
backgroundColor = eval(call(name = "rgb",
matrix(sample_color$col1, ncol = 3))))
작동 방식을 더 잘 이해하려면 DT 의 패키지 비 네트를 살펴보십시오 . 당신에게 적합한 섹션 formatCurrency가 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다