Dear list,
I have observed a weird behaviour from R --- apologies if I am missing
something obvious!

df3f826f28
df3f826f28
Say you type in R:

>c.preec <- 10074
>c.gd <- 2200
>p1 <- .2
>c.neo <- p1*9451 + (1-p1)*3883
>n.preec <- 3710
>n.gd <- 2650
>n.neo <- 2120
>n.pcos <- 53000
>unit.met <- 94
>cost.met <- 94*n.pcos

>effect <- seq(0,1,.01)
>gross.save <- ((n.preec*effect*c.preec) + (n.gd*effect*c.gd) +
(n.neo*effect*c.neo))
>save.nhs <- gross.save - cost.met

>e.star <- .4
>s.star <- save.nhs[which(effect==e.star)]/1000000

Now, R should return
> which(effect==e.star) = 41

and therefore compute the variable s.star.
All well and trivial; but if you try and set
>e.star <- .7

R returns
>which(effect==e.star) = integer(0)

so apparently there is no element in the vector e.star that is equal to .7.
Of course, there should be, since effect <- seq(0,1,.01), and in fact if you
ask R to show you the vector effect, you do get
[1] 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.12 0.13
0.14
[16] 0.15 0.16 0.17 0.18 0.19 0.20 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28
0.29
[31] 0.30 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43
0.44
[46] 0.45 0.46 0.47 0.48 0.49 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58
0.59
[61] 0.60 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 *0.70* 0.71 0.72 0.73
0.74
[76] 0.75 0.76 0.77 0.78 0.79 0.80 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88
0.89
[91] 0.90 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00

Can anyone think of why this happens?
Many thanks
Gianluca

	[[alternative HTML version deleted]]

