R을 사용하여 감소를 시각화하는 가장 좋은 방법은 무엇입니까? R-package가 없다는 것을 깨달은 후 온라인 에서

이 사이트를 통해 최근에 Sankey Diagrams를 발견했습니다. Sankey Diagrams는 전통적인 순서도 에서 일어나는 일을 시각화하는 좋은 방법 입니다.

다음은 George M. Whitesides와 George W. Crabtree (
에너지에 대한 기본 기초 연구를 잊지 마십시오
Source) 의 Sankey Diagram의 좋은 예입니다 . 2007 년 2 월 9 일, 과학에 관한 장기 기본 연구를 잊지 마십시오 : Vol. 315. 아니오 5813, 796-798 쪽.

Sankey R-package가 없다는 것을 깨달은 후 온라인 에서 R 스크립트를 찾았습니다 . 불행히도이 스크립트는 상당히 원시적이고 다소 제한적입니다. 높은 기대 로 Sanover R 패키지 또는 stackoverflow에서보다 성숙한 기능을 요청 했지만 놀랍게도 R에서 Sankey Diagrams를 구축하기위한 성숙한 기능이없는 것처럼 보입니다.

현상금을 게시 한 후 Geek On Acid 는 기존 스크립트에서 약간의 해킹제안 할 수있을 정도로 친절하여 특정 목적을 위해 다소간 작동했습니다.

개선 된 R- 스크립트는이 다이어그램,

Source; stackoverflow.com .

그러나 R 패키지가 없다는 것은 Sankey Diagrams가 위의 다이어그램에 표시된 데이터 흐름에서 R을 사용하여 감소를 시각화하는 놀라운 방법이 아니라는 것을 나타냅니다 ( 데이터 및 R 코드에 대한 초기 스택 오버 플로우 질문 참조) . 감소를 시각화하는 더 좋은 방법이 있습니다.

R을 사용하여 데이터 흐름에서 감소를 시각화하는 가장 좋은 방법은 무엇이라고 생각하십니까?



답변

@gung에 동의합니다. 게시 한 Sankey 다이어그램은이 기술이 도움이 될 수있는 좋은 예라고 생각합니다. 복잡하지만 상황 (에너지 입력 및 출력)도 복잡하며 여러 범주의 사용에서 입력-출력-동작-새로운 입력으로 경로를 시각화하는 더 좋은 방법을 생각하기는 어렵습니다.

이제 다른 사람이 지적했듯이 게시 한 마멸 예제의 경우 Sankey 다이어그램을 사용하는 것이 도움이되지 않습니다. 대체 시각화에 대한 좋은 권장 사항을 원하면 전체 변수 세트를 게시해야한다고 생각합니다. 사이트와 임상의 사이에 감소 소스의 차이를 단순히 보여주고 싶다면, 청중이 이해하기 쉽고 구현하기 쉬운 소수의 도트 플롯 시리즈가있을 수 있습니다 ( 이 예제를 참조 하면 그룹의 위치 사이트, 그룹 내 요소가 감소의 원인이되고 가로 축은 0-100 %입니다.

Sankey 다이어그램을 사용하고 싶고 다른 고급 언어로 기꺼이 다루고 싶다면 갤러리에 Python 플로팅 패키지 matplotlib에 대한 좋은 예제 (코드 포함) 가 있습니다.


답변

필자는 메소드의 부족이 메소드가 중요하지 않거나 유용하지 않다고 암시한다고 생각하지는 않습니다. 결국, 현재 R에 존재하는 모든 방법에 대해 패키지가 없었던 시간이있었습니다.

그러나 필자는 감손과 같은 데이터를 시각화하는 방법에는 여러 가지가 있다고 생각해야합니다. 귀하의 차트를 볼 때 처음으로 생각한 으로 표시 될 수 있다는 것 입니다. 다른 가능성도 존재합니다. Sankey Diagram의 추가 기능은 한 시점에서 특정 원인으로 인해 약간의 마모가 발생 했을 때 , 그리고 나중에 다른 입력 및 출력 사이 의 동일한 원인으로 인해 더 많은 기능이 작동합니다 . 표준 플롯으로 표현하기가 더 복잡합니다 (예를 들어, 페이지 상단에있는 다이어그램은 읽기에 약간의 작업이 필요합니다). 당신이 그것을 가지고있는 것 같지 않기 때문에 Sankey 다이어그램은 예쁘지 만 과잉 것 같습니다.


답변

R 코드를 사용하여 데이터에 따라 설정된 화살표 너비와 간단한 레이아웃으로 SVG 파일을 작성하는 것은 어떻습니까? 그런 다음 Inkscape에 넣고 화살표를 구부리고 레이블 등을 마음의 내용에 추가하여 무언가를 아름답게 만듭니다.

명백한 문제 : 데이터가 변경되면 Inkscape에서 모든 prettification을 다시 실행해야합니다 (Inkscape의 예쁜 SVG를 템플릿으로 사용하고 새로운 화살표 너비를 대체 할 수는 있지만).

그러나 솔직히 말해서, 상단에있는 구불 구불 한 구불 구불 한 다색의 혼란이 좋은 Sankey 다이어그램이라면, 나는 전체 배에서 나쁜 것을 보는 것을 싫어합니다. 좋은 그래픽은 필요하지 않습니다].