Eric,

On 2023-06-21 04:02, Eric Berger wrote:
Hi Philip,
In the decades since you learned R there have been some additions to
the language.
In particular, R now supports lambda functions.
Applying this feature to Ivan's beautiful solution cuts down 7
characters (continuing his golfing analogy)

unlist(lapply(seq_along(x), \(i) x[i] * x[-(1:i)]))


Amazing! - it reminds me of the old days when there were competitions to write the smallest C programs . .


Enjoy your return to R!


Thanks! I think I was right to look at R first - it is exactly what I need I think - and the model I am thinking of shouldn't need any grunt that would require rewriting any functions in C or Rust or something . .

P.


On Tue, Jun 20, 2023 at 8:46 PM Philip Rhoades via R-help
<r-help@r-project.org> wrote:

Ivan,

On 2023-06-21 03:32, Ivan Krylov wrote:
В Wed, 21 Jun 2023 03:13:52 +1000
Philip Rhoades via R-help <r-help@r-project.org> пишет:

This:

!(1,2,3,4,5)

would give this:

(2,3,4,5, 6,8,10, 12,15, 20)

Do you mean taking a product of every element of the vector with
all
following vector elements? A relatively straightforward way would
be
(given your vector stored in `x`):

unlist(lapply(seq_along(x), function(i) x[i] * x[-(1:i)]))

Perfect!

(I'm sure it could be golfed further.)

I will look at Sarah's suggestion too.

and this:

!(1,2,NA,4,5)

would give this:

(2,4,5, 8,10, 20)

The previous solution seems to give your vector interspersed a
bunch of
NAs, so one way to continue would be to filter it using v[!is.na
[1](v)].

Exactly!

Thanks people - it would have taken forever to work that out myself
(it
has been decades since I looked at R).

Phil.
--
Philip Rhoades

PO Box 896
Cowra  NSW  2794
Australia
E-mail:  p...@pricom.com.au

______________________________________________
R-help@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.


Links:
------
[1] http://is.na

--
Philip Rhoades

PO Box 896
Cowra  NSW  2794
Australia
E-mail:  p...@pricom.com.au

______________________________________________
R-help@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.

Reply via email to