[R] able to estimate in the excel but not in R, any suggestion?

Marna Wagley m@rn@@w@g|ey @end|ng |rom gm@||@com
Thu Dec 23 08:12:39 CET 2021


Dear Jim,
Thank you very much for the help. The code seems to be right. Using this
code, I got exactly the same value as the excel's value.
This is great.
Thanks
MW

On Wed, Dec 22, 2021 at 10:57 PM jim holtman <jholtman using gmail.com> wrote:

> You need to use the 'ifelse' function.  I think I copied down your
> formula and here is the output:
>
> > daT<-structure(list(sd = c(0.481, 0.682, 0.741, 0.394, 0.2, 0.655,
> 0.375),
> + mcd = c(51.305, 51.284, 51.249, 51.2, 51.137, 51.059, 50.968), ca =
> + c(49.313, 69.985, 75.914, 40.303, 20.493, 66.905,38.185)), class =
> + "data.frame", row.names = c(NA, -7L))
> > head(daT)
>      sd    mcd     ca
> 1 0.481 51.305 49.313
> 2 0.682 51.284 69.985
> 3 0.741 51.249 75.914
> 4 0.394 51.200 40.303
> 5 0.200 51.137 20.493
> 6 0.655 51.059 66.905
> >
> > # add in a new column with the calculation
> >
> > daT$ca_1 <- with(daT,
> +    ifelse(sd > mcd * 2,
> +           pi * mcd ^ 2,
> +           (0.5 * sd) * sqrt(mcd^2 - (0.5 * sd)^2) +
> +               mcd^2 * asin((0.5 * sd) / (mcd)) * 2
> +           )
> +     )
> >
> > daT
>      sd    mcd     ca     ca_1
> 1 0.481 51.305 49.313 37.01651
> 2 0.682 51.284 69.985 52.46340
> 3 0.741 51.249 75.914 56.96310
> 4 0.394 51.200 40.303 30.25918
> 5 0.200 51.137 20.493 15.34110
> 6 0.655 51.059 66.905 50.16535
> 7 0.375 50.968 38.185 28.66948
> >
>
>
> Thanks
>
> Jim Holtman
> Data Munger Guru
>
> What is the problem that you are trying to solve?
> Tell me what you want to do, not how you want to do it.
>
> On Wed, Dec 22, 2021 at 10:23 PM Marna Wagley <marna.wagley using gmail.com>
> wrote:
> >
> > Hi R users,
> > I was trying to estimate some values in r but could not figure out how to
> > write the script in r. Although I was able to estimate it correctly in
> the
> > excel. For example I have the following data set.
> >
> > daT<-structure(list(sd = c(0.481, 0.682, 0.741, 0.394, 0.2, 0.655,
> 0.375),
> > mcd = c(51.305, 51.284, 51.249, 51.2, 51.137, 51.059, 50.968), ca =
> > c(49.313, 69.985, 75.914, 40.303, 20.493, 66.905,38.185)), class =
> > "data.frame", row.names = c(NA, -7L))
> > head(daT)
> >
> > In this data set, I need to estimate in the column name "ca", In the
> excel
> > I estimated the value using the following formula:
> >
> IF(A2>B2*2,PI()*B2^2,((0.5*A2)*SQRT(B2^2-(0.5*A2)^2)+B2^2*ASIN((0.5*A2)/B2))*2)
> >
> > But when I wrote the following code in the R, it did not work
> > attach(daT)
> >
> daT$ca<-if(sd>mcd*2,pi()*mcd^2,((0.5*sd)*sqrt(mcd^2-(0.5*sd)^2)+mcd^2*asin((0.5*sd)/mcd))*2)
> >
> > Your suggestion would be highly appreciated.
> >
> > Sincerely,
> >
> > MW
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list