[R] question involving loops from intro level R programming class

Gustaf Rydevik gustaf.rydevik at gmail.com
Fri Nov 28 12:14:01 CET 2008


On Fri, Nov 28, 2008 at 8:35 AM, Heidi Wong <hungryhungryheidi at gmail.com> wrote:
> a. Write a R function zerdiag.v1(m) using loop to output a square matrix
> whose diagonal elements are zero and the other elements are filled in by
> consecutive integers from 1 to m row-wise.
>
> For example,
> zerdiag.v1(6) =  [0, 1, 2]
>                          [3, 0, 4]
>                          [5, 6, 0]
>
> This function should have error checking ability. If the input m cannot form
> a square matrix, then the function will return an error message: "Input
> number is incorrect."
>
> b. Write a R function zerdiag.v2(m) to produce the same output as in part
> (a) without using a loop.
>
> c. Test your functions in part (a) and (b) using m=12 and m=14 respectively.
>
> I'd appreciate any help with this problem... I've spent a lot of time
> staring at it, and I'm still not sure where to start. Thanks!
>
>        [[alternative HTML version deleted]]
>



Hi,

Nice little brain teaser! Not too difficult, but requires a bit of
creative thinking...
You might wanna have a look at, for example, ?diag, ?uniroot, or ?polyroot.

regards,

Gustaf




-- 
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik



More information about the R-help mailing list