這是一個增量的問題直接涉及到這個話題:通過與ggplot和modyfing geom_hline(y截距)相應列循環
How do I loop through column names and make a ggplot scatteplot for each one
我想通過列名循環和作,ggplot scatteplot每一個,但我想添加一個水平線,其攔截取決於列中的值。
所以我把代碼:
Y <- rnorm(100)
df <- data.frame(A = rnorm(100), B = runif(100), C = rlnorm(100),
Y = Y)
colNames <- names(df)[1:3]
for(i in colNames){
plt <- ggplot(df, aes_string(x=i, y = Y)) +
geom_point(color="#B20000", size=4, alpha=0.5) +
geom_hline(yintercept=0, size=0.06, color="black") +
geom_smooth(method=lm, alpha=0.25, color="black", fill="black")
print(plt)
Sys.sleep(2)
}
我切換y隨x的
aes_string(x=Y, y = i))
,我想修改該行
geom_hline(yintercept=0, size=0.06, color="black")
...使y截距不是恆定的,而是取決於我,例如: :
geom_hline(yintercept=c(quantile(i, 0.25)))
因此,yintercept總是列中的第一個四分位數。
然而,它不工作:
錯誤(1 - H)*適量[I]: 非數字參數二元運算
我嘗試不同的選項,如aes_string,糊劑()等 但沒有一個工作。
然而,它不工作:錯誤(1 - H)*適量[I]: 非數字參數二元運算
我嘗試不同的選項,如aes_string,糊劑()等 但沒有這工作。
嘗試'位數(DF [我],0.25)' – hrbrmstr