0
이 가짜 데이터 프레임이 있습니다. 나는 데이터 포인트를 막대 그래프 위에 추가하는보다 빠른 벡터화를 검토 중이다. 내 솔루션은 많은 열이있을 때 적용하기 어려울 것입니다. 내 문제는 벡터와 행렬이 "포인트"기능에 허용된다는 것입니다. 현명한 해결책이 있습니까?R- 소프트웨어의 복잡한 바 플롯 위에있는 데이터 점
df <- data.frame(Test = 1:5,
Factor= c("A","A","B","B","A"),
V1=c(3.2,5.4,6.0,6.5,2),
V2=c(5,5,8.6,7,1))
str(df, list.len=ncol(df))
colnames(df)
dim(df)
df.agg <- aggregate(df[c(3,4)], by = list(Factor = df$Factor), mean)
df.agg <- df.agg[order(df.agg$Factor),]
df.agg
mat.agg <- as.matrix(df.agg[c(2,3)])
barx <- barplot(mat.agg,
beside = T,
ylim = c(0, 1.3*max(mat.agg)),
col = colors()[c(5,16)][df.agg$Factor],
legend.text = as.character(df.agg$Factor))
barx
barx <- as.vector(barx)
barx
points(
rep(barx[1], length(df[df$Factor == levels(df$Factor)[1], "V1"])),
df[df$Factor == levels(df$Factor)[1], "V1"])
points(
rep(barx[2], length(df[df$Factor == levels(df$Factor)[2], "V1"])),
df[df$Factor == levels(df$Factor)[2], "V1"])
points(
rep(barx[3], length(df[df$Factor == levels(df$Factor)[1], "V2"])),
df[df$Factor == levels(df$Factor)[1], "V2"])
points(
rep(barx[4], length(df[df$Factor == levels(df$Factor)[2], "V2"])),
df[df$Factor == levels(df$Factor)[2], "V2"])
감사합니다, t 모자는 이미 내 버전의 많은 저장된 코드입니다. –
답변에 만족한다면 동의하십시오. – Jimbou