[R] Need help in R

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Wed Oct 27 02:12:45 CEST 2021


Well, OK. I'll provide you an alternative and explanation.

The way you are going about it would work, but it is usually not the best
approach in R. Typically, the key in R is to whenever possible use whole
object manipulation rather than iteration. This hides the iteration details
and often pushes them down to the much more efficient underlying C code. So
here's one way to do it in R:

findprm <- function(n){
   nn <- seq.int(2, n)
   i <- 2
   while(i <= floor(sqrt( n))){
      nn <- nn[(nn <= i) | (nn %% i > 0)]
      i <- nn[nn > i][1]
   }
   nn
}

Example:
> findprm(66)
 [1]  2  3  5  7 11 13 17 19 23 29 31 37 41 43 47 53 59 61

I'll leave it to you to work out the details for how it works. :-)
And, of course, there are almost certainly even better ways to do this, but
this should get you started.

Cheers,
Bert

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Tue, Oct 26, 2021 at 1:59 PM Anas Jamshed <anasjamshed1994 using gmail.com>
wrote:

> Its not homework . Basically i want to get easy solution:
> I am trying this for ist problem:
>
> n= seq(1,100)
>
> for (j in n:100) {
>       f = 1
>       i = 2
>       n = j
>       while (i <= n / 2) {
>         if (n %% i == 0) {
>           f = 0
>           break
>         }
>         i = i + 1
>       }
>       if (f == 1) {
>         print(paste("Number is prime :", n))
>       }
>     }
>
> On Wed, Oct 27, 2021 at 1:35 AM Rolf Turner <r.turner using auckland.ac.nz>
> wrote:
>
> >
> > On Wed, 27 Oct 2021 01:09:50 +0500
> > Anas Jamshed <anasjamshed1994 using gmail.com> wrote:
> >
> > > I need help to these questions
> > >
> > > ### Question 1
> > > Create a variable containing a sequence of numbers from 1 to 100:
> > >
> > > Iterate over the variables and print those numbers which are prime.
> > >
> > >
> > > ### Question 2
> > > Create a matrix of size 3x3 called mat_1:
> > >
> > >  Iterate over all the values one by one and print the element as well
> > > as the position in the matrix (row, col)
> >
> > You really should do your own homework.
> >
> > cheers,
> >
> > Rolf Turner
> >
> > --
> > Honorary Research Fellow
> > Department of Statistics
> > University of Auckland
> > Phone: +64-9-373-7599 ext. 88276
> >
> >
>
>         [[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