각 차트에 두 개의 그림이있는 5 개의 레이더 차트를 만들려고합니다. 따라서 내 데이터 프레임의 두 행이 하나의 레이더 차트를 구성합니다.R - 각 차트에 두 개의 그림이있는 레이더 차트 행렬을 만드는 방법.
예시적인 데이터 프레임 :
DF
name A B C D E
name1 1 2 3 4 5
name1 3 2 3 5 4
name2 3 5 4 5 5
name2 2 1 5 1 5
name3 1 3 2 4 1
name3 5 4 1 2 2
name4 1 2 3 4 5
name4 5 4 3 2 1
name5 1 2 3 4 5
name5 5 4 3 2 1
df
데이터 프레임은 두 개의 상이한 데이터 프레임으로 구성된다. 행 c(1,3,5,7,9)
은 하나의 데이터 프레임이고 행 c(2,4,6,8,10)
은 또 다른 데이터 프레임입니다. 하나의 데이터 프레임에 두 개를 넣었습니다. 하나의 레이더 차트에 두 개의 플롯으로 이루어진 최종 목표를 얻는 것이 더 쉬울 것이라고 생각했기 때문에 더 쉽고 효율적인 방법이 있다면 알려 주시기 바랍니다.
행 1과 2를 하나의 차트, 행 3과 4를 하나의 차트, 행 5와 6을 하나의 차트, 행 7과 8을 하나의 차트, 행 9와 10을 하나의 차트. 나는 현재 일을하고 무엇
:
library(fsmb)
library(plyr)
library(dplyr)
colors_border <- c(rgb(0.2,0.5,0.5,0.9), rgb(0.8,0.2,0.5,0.9))
colors_in <- c(rgb(0.2,0.5,0.5,0.4), rgb(0.8,0.2,0.5,0.4))
par(mar=c(1,1,1,1))
layout(matrix(1:5, ncol = 5, nrow = 1, byrow = T))
laply(c(1,3,5,7,9), function(x){
radarchart(rbind(rep(5,5), rep(1,5), df[c(1,2,3,4,5,6,7,8,9,10),-1]),
axistype=1 ,
pcol=colors_border,
pfcol=colors_in,
title = df$name[x],
plwd=3,
plty=1,
cglcol="grey",
cglty=1,
axislabcol="grey",
caxislabels=seq(1,5,1),
cglwd=0.8,
vlcex=0.8)
})
당신이 모든 행은 각 레이더 차트에 플롯되고 볼 수 있듯이
.내 실제 데이터 프레임은 20 행의 일곱 개 변수를 갖는다.
추가 정보가 필요하면 알려주십시오. 어떤 도움을 주셔서 감사합니다.
이 프레젠테이션에서는 데이터에 누락 된 열이 하나있는 것처럼 보입니다.이 열은 주어진 레이더 차트의 첫 번째 데이터 집합인지 두 번째 데이터 집합인지를 정의합니다. 예를 들어,'DF $ type = rep (1 : 2, times = 5)'(실제 데이터에 필요에 따라 조정). 이렇게하면'name '을 먼저 그룹화/반복 할 수 있고 그 안에'type'을 쉽게 반복 할 수 있습니다. – r2evans
의견을 보내 주셔서 감사합니다. 내가 사용하고있는'laply' 함수에서'name'을 통해 반복하고'type'을 반복하는 방법에 대한 대답을 제공해 주시겠습니까? – Dre