On Apr 17, 2010, at 1:18 PM, David Winsemius wrote:
On Apr 17, 2010, at 12:45 PM, Charles C. Berry wrote:
On Sat, 17 Apr 2010, Akito Y. Kawahara wrote:
Hi, I am new to R, and have a quick question regarding an R script
that I received from a kind colleague.
I am trying to determine the "peak" (maximum value) of the graph
that
is plotted when executing the following. There is an input file
called
"rates_values.txt" which begins as:
rateValue
0.375693
0
1.71274
0
0
1.02832
0
0.16343
1.02349
0
0
1.47258
0.703522
0.390541
1.83415
The script, below, must run with the rates_values.txt in the same
dir.
#-------
rates<-read.table("rates_values.txt",header=T)
attach(rates)
scores<-function(x){
l<-length(rateValue)
total<-0
for(i in 1:l){
value<-16*rateValue[i]*rateValue[i]*x*exp(-4*rateValue[i]*x)
total<-total+value
}
return(total)
}
#-------
#preparing the plot
linewidth=3
linetype=3
color="blue"
xvalue=0.5
plot(scores,xvalue,0,type="n",font.axis=2,xlim=c(xvalue,0))
curve
(scores
,xvalue
,add=TRUE,col=color,lty=linetype,lwd=linewidth,xlim=c(xvalue,0))
I was a bit puzzled by these lines, since in most R plotting tasks
one uses plot(x, y, ...). So unless the task it to plot some inverse
function, then the arguments are reversed. Furthermore, scores was
defined above as a function of "x", and yet is being offered to plot
with no arguments. What is intended?
Thanks to Charles Berry for advising me that this is an acceptable, if
somewhat obscure, usage of plot.function().
#-------
Can anyone help me figure out how to determine the peak (maximum
"scores") value in the plot that is generated?
Perhaps this approximation would be effective:
> max(scores(seq(0.5, 0, by=-0.001)))
[1] 11.67820
An alternate approach might be to calculate a smoothing function, but
this seems to "work" in the sense of giving an answer that matches the
results from Berry's suggestion:
> optimise( scores, range(rateValue), maximum=TRUE )
$maximum
[1] 0.1830172
$objective
[1] 11.67820
Yes. Anyone who knows something called 'the calculus' could help.
And they could point out that the 0's in the data really do not
matter.
If the 0's are real data that should influence the result, it seems
there is something wrong with scores() and you might do well to get
a consult from a statistician.
If you are still determined to solve the problem as stated, see
?optimise
Something like
optimise( scores, range(rateValue), maximum=TRUE )
should do it.
HTH,
Chuck
It should be about 11.7
but I would like to get an exact value. This should be a relatively
easy question, but I'm new to R, and what I have tried doesn't
seem to
work.
Thanks!
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Charles C. Berry (858) 534-2098
Dept of Family/Preventive
Medicine
E mailto:cbe...@tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego
92093-0901
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.