2016-11-06 6 views
0

R의 DT 패키지를 좋아합니다. 일부 Excel 조건부 서식 테이블을 복제하려고하지만 스타일 지정 기능에 액세스하기가 어렵습니다.조건부 서식 지정 가능 DT R

특히, 사용자가 데이터 테이블의 행/열을 호출하고 Excel에서 수행되는 방법과 유사하게 일부 조건부 형식 지정을 적용 할 수있는 기능을 생성하고 싶습니다. 이것은 나 자신과 같은 초보자 R 사용자에게는 훨씬 더 많은 기능이 될 것이며, 또한 다른 사람들을 위해 프로세스 속도를 향상시킬 것입니다. 히트 맵과 달리 조건부 서식은 행/열이 모두 동일한 유형이 아닐 때 중요하므로 개별적으로 각각을 수행해야합니다. 높고 낮은 값 옵션 마커는 무엇인지 명확하게 나타낼 수 있습니다.

난 당신이 this 페이지

# create 19 breaks and 20 rgb color values ranging from white to red 
brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE) 
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>% 
    {paste0("rgb(255,", ., ",", ., ")")} 
datatable(df) %>% formatStyle(names(df), backgroundColor = styleInterval(brks, clrs)) 

에 추적의 예에서와 같이 휴식을 만들 수 있습니다 볼 수 있지만 당신이 이름을 호출 할 수 있습니다 것처럼 같이 보이지만 나는, 개별 행에 적용하는 방법을 잘 모르겠습니다 formatStyle() 및 배경색을 통해 here을 본 적이 있지만 그림자가있는 그래디언트가없고 행/열 이름이 너무 많이 필요합니다.

사용자 지정 함수를 만드는 데 큰 도움이됩니다. R datatable community IMO에 도움을주십시오.

답변

-1

그래서 backgroundColor 인수는 누군가가 나를 도울 수 있다면 값은 이제

"value <= -1.5504 ? 'rgb(255,255,255)' : value <= -0.9689 ? 'rgb(255,244,244)' : value <= -0.7885 ? 'rgb(255,232,232)' : value <= -0.6168 ? 'rgb(255,221,221)' : value <= -0.28425 ? 'rgb(255,210,210)' : value <= -0.1183 ? 'rgb(255,198,198)' : value <= 0 ? 'rgb(255,187,187)' : value <= 0.0754000000000001 ? 'rgb(255,176,176)' : value <= 0.2935 ? 'rgb(255,164,164)' : value <= 0.443 ? 'rgb(255,153,153)' : value <= 0.46745 ? 'rgb(255,142,142)' : value <= 0.5344 ? 'rgb(255,131,131)' : value <= 0.5647 ? 'rgb(255,119,119)' : value <= 0.979 ? 'rgb(255,108,108)' : value <= 1 ? 'rgb(255,97,97)' : value <= 1 ? 'rgb(255,85,85)' : value <= 1.1765 ? 'rgb(255,74,74)' : value <= 1.3743 ? 'rgb(255,63,63)' : value <= 1.65975 ? 'rgb(255,51,51)' : 'rgb(255,40,40)'" 

다음과 같습니다 단지 자바 스크립트입니다 JS_EVAL 클래스에 가지고 가고, 위의 코드 (예에서 중단 점 설정을 사용) 색상 팔레트를 어떻게 바꿀 수 있는지 이해 (빨강에서 초록으로 전환) 나는 사용하기 쉬운 함수를 구현하는 것이 어렵다고 생각한다. 그러나 그 행/열을 다음과 같이 사용하는 방법을 여전히 잘 모르겠다. 이름 (전화 할 수있는 인수가 valueColumns 인 것처럼 보이지만

1

다음과 같이 시도하십시오.

# create 19 breaks and 20 hex color values ranging from red to green using white around the median 
brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE) 
colfunc <- colorRampPalette(c("red","white","green")) 
clrs <- colfunc(length(brks) + 1) 
datatable(df) %>% formatStyle(names(df), backgroundColor = styleInterval(brks, clrs))