0
我有一個很大的數據框。 這裏是一個類似結構的假數據;在ggplot中繪製重複每個方面的註釋問題
dat = data.frame(id=seq(1:12),variable=rep(c("p1","p2","p3"),times=2),value=c(runif(6),runif(6)+1),locus=c(rep("A",6),rep("B",6)),replicate=rep(c(1,2),6), TimesLocus=rep(2,times=12))
我想繪製複製1之間的相關性,並且複製2.
我已經此使用來實現的。
Corr<-cor(dat[dat$replicate==1,]$value,dat[dat$replicate==2,]$value)
ggplot(dat,aes(x=dat[dat$replicate==1,]$value,y=dat[dat$replicate==2,]$value))+
geom_point()+xlab("replicate1")+ylab("replicate2")+
geom_smooth(method = "lm") +
annotate("text", x = 0.9*max(dat[dat$replicate==1,]$value),
y = 0.9*max(dat[dat$replicate==2,]$value),
label = paste("r^2=",round(Corr,digits=2),sep=" "),color="blue")
但是,現在我想看看相關性是否是不同的PER VARIABLE。
我可以這樣做使用。
ggplot(dat,aes(x=dat[dat$replicate==1,]$value,y=dat[dat$replicate==2,]$value))+
geom_point()+xlab("replicate1")+ylab("replicate2")+
geom_smooth(method = "lm") + facet_wrap(~variable)
如果我想每個變量有相關性,我知道我應該製作一個單獨的數據框,但我遇到了這個問題。
r_df <- ddply(dat, .(variable), summarise,
rsq=round(summary(lm(dat[dat$replicate==2,]$value~
dat[dat$replicate==1,]$value))$r.squared, 2))
它給出了每個變量相同的r2ed。
我在做什麼錯?我可以在不重新調整數據的情況下做到這一點嗎?
好吧,我現在試圖使用來自@shadow的信息,並具有以下內容。
r_df_val <- ddply(df_mlt_loc_Dup, .(variable), summarise, rsq=round(summary(lm(value[replicate==2]~value[replicate==1]))$r.squared, 2))
一些如何計算是不正確的。所有的rsq都是0.06或者什麼的,當它們應該接近0.8時,你可以在下面的圖中看到相關性。是不是按變量對子集進行重新排序?
感謝 - 將與我的真實數據檢查並拿回 – user2814482
感謝,我用你正確的語法,但不知何故的計算是不正確的,在上面看到的情節,謝謝 – user2814482