2
我有描述從幾個人(每個人在幾個不同的時間點拍攝的幾個測量值)取得的幾個測量值的數據。尋找一種更好的繪製數據的方法
我想將數據呈現爲測量值與個人的散點圖。因爲對於每個人我有幾個測量,這意味着我將在每個x軸點有一堆點。
下面是一個例子隨機碼來生成這些數據:
set.seed(1)
n.individuals <- 10
n.measurements <- 15
vars <- runif(n.individuals, 0.1, 1)
means <- runif(n.individuals, 1, 5)
negative.idx <- sample(n.individuals, n.individuals/2)
means[negative.idx] <- -1*means[negative.idx]
df <- data.frame(measurement=c(sapply(1:n.individuals, function(x) rnorm(n.measurements, means[x], sqrt(vars[x])))),
individual=c(sapply(1:n.individuals, function(x) rep(x, n.measurements))))
這裏是我是如何呈現的數據,到目前爲止:
#add colors
cols <- rgb(runif(n.measurements),runif(n.measurements),runif(n.measurements))
df$col <- rep(cols, n.individuals)
#simple plot
plot(df$individual, df$measurement, col=df$col, lwd=2, xlab = "individual", ylab = "measurement")
abline(h=0,lty=2)
abline(v=seq(min(df$individual)-0.5, max(df$individual)+0.5, 1),lty=2)
我不知道是否有一個更優雅的方式來呈現數據(也許是ggplot的方式?)
請注意,我在數據中查找的信號(以及我如何生成這些信號)是每個人的測量值都與其符號相關。如果它們的符號不相關,它們應該分散在y軸的兩側。
抖動,用自己的顏色代碼一起可能是一個好主意:http://docs.ggplot2.org/current/geom_jitter.html –
是不是這只是一個'? boxplot'本質上? – thelatemail
我猜想一個盒子圖的抖動點和顏色編碼應該這樣做。 – user1701545