[英]Plot multiple similar equations in r
我是R的新手。我想繪制一個這樣的圖。
曲線由以下等式創建:
(log(0.4)-(0.37273*log(x)-1.79389))/0.17941
(log(0.5)-(0.37273*log(x)-1.79389))/0.17941
(log(0.6)-(0.37273*log(x)-1.79389))/0.17941
等式相似,唯一的區別是第一個log(XXX)。 我已經通過為每個方程式重復plot()來手動繪制圖形。 但我認為必須有一種方法來分配一個簡單的變量,例如
x<-c(0.4,0.5,0.6,0.7)
然后自動繪制所有曲線。 我嘗試使用數據框制作一組方程式,但失敗了。
您可以創建一個函數生成函數,然后循環關注的值。 例如
# takes a value, returns a function
logfn <- function(b) {
function(x) (log(b)-(0.37273*log(x)-1.79389))/0.17941
}
x <- c(0.4,0.5,0.6,0.7)
# empty plot
plot(0,0,type="n", ylim=c(-5,5), xlim=c(1,8), xlab="Lenght", ylab="Z-score")
# add plots for questions with `curve()`
for(v in x) {
curve(logfn(v)(x),add=T)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.