У меня есть следующий сценарий:Участок линии функции в R
FGM = function (n,r,z){
x = r*sqrt(n)/(2*z)
Px = 1-pnorm(x)
}
re = 10000
data = data.frame(abs(rnorm(re,0,1)), abs(rnorm(re,0,1)), abs(rnorm(re,0,1)))
colnames(data) = c("n","r","z")
data$Px = FGM(data$n,data$r,data$z)
data$x = data$r*sqrt(data$n)/(2*data$z)
par(mar=c(4.5,4.5,1,1))
plot(data$x,data$Px, xlim = c(0,3), pch = 19, cex = 0.1, xaxs="i", yaxs="i",
xlab = expression(paste("Standardized mutational size (",italic(x), ")")),
ylab = expression(paste("P"[a],"(",italic(x),")")))
Который является воссоздание графа found here (box 2). Вы можете видеть в этом скрипте, что я делаю это, просто построив 10000 маленьких черных точек с различными значениями n, z и r. Это кажется безобразной работой вокруг, я думаю, что я просто должен быть в состоянии дать R моей функции
FGM = function (n,r,z){
x = r*sqrt(n)/(2*z)
Px = 1-pnorm(x)
}
и это участок линии на графике. Однако несколько часов очистки веб-страниц были непродуктивными, и я пробовал несколько способов с помощью abline и линий, но ничего не получилось, есть ли способ сделать это с помощью этих функций или другой функции?
Пробовал это ...
plot(data$x,data$Px, xlim = c(0,3), ylim = c(0,0.5), xaxs="i", yaxs="i",
xlab = expression(paste("Standardized mutational size (",italic(x), ")")),
ylab = expression(paste("P"[a],"(",italic(x),")")), type = "n")
curve(1-pnorm(r*sqrt(n)/(2*z)), add=T)
>Error in curve(1 - pnorm(r * sqrt(n)/(2 * z)), add = T) :
'expr' must be a function, or a call or an expression containing 'x'
>
@PaulRegular предложил это решение, но она до сих пор участки Земельные участки на основе данных, а не сама формула. Я ищу решение, которое может произвести кривую должным образом без больших значений «повторно» - используя следующие, но с «повторно» установлен в 10 вы можете увидеть, что я имею в виду ...
data <- data[order(data$x),]
lines(data$x, data$Px, lwd=1)
У многих из нас нет свободного доступа к этой статье. – 2014-09-26 09:59:26
запуск сценария будет показывать то же самое @pascal – Ell
Затем удалите бесполезную ссылку. – 2014-09-26 10:01:05