[R] R for linear algebra

Avi Gross @v|gro@@ @end|ng |rom ver|zon@net
Sat Jun 25 22:33:18 CEST 2022


I appreciate the clarifications by several of you as I think I prematurely hit DELETE on the original notification as so many such messages are mainly a rewrite by people like lawyers. I clearly should have read through that one to the end.

Since I am a fan of the tidyverse, among many such things, I welcome the new guidelines, but of course also prefer not ignoring what is in base R and thus more guaranteed to already be accessible by anyone copying the code.

I note the existence of some more limited/specific interest group mailing lists and I am subscribed to some but wish there was one targeting a bunch of packages related to the hazy group of packages some call the tidyverse and somewhat different ways for solving some problems rather than the current variation on a web site.

I often wonder if someone wanted to build a new language cleanly from the ground up (and obviously this is constantly being done) if they might start with some ideas similar to what a language like S incorporated at the time and followed the experiences and changes that happened since, and started over be designing it differently enough using the new paradigms as consistently as possible. 

An obvious example is the recent introduction of what looks like a well designed pipe feature using the |> operator. It is a significant component of some of the packages like dplyr albeit the overall idea precedes it in quite a few ways and places. But what if this had been a part of the original design of R? How many functions might have been written differently in base R to have more functions place the first argument to be the one more often piped into. Or might there by a version of functions like grep() that put the data first and not the pattern? 

Even better, might there have been a design decision like coming up with an unused sequence of characters whose MEANING is to place the results of the previous pipeline output here. Imagine if something unused like "<<|>>" was chosen as a valid command that was only allowed in situations to the right of a pipe symbol and meant put it here:

data |> func1(2nd, 3rd) |> func2(1st, 2nd, <<|>>) 

The default (if the placeholder is not used) would be to place it in the first position, otherwise where it is, perhaps even multiple times if that made sense. Sort of like the tidyverse use of "." but done more formally and with more support instead of the interesting kludge they threw at us with a new way to insert a hard to read/parse anonymous function to redirect things.

But that is not our reality with a language like R that can break many older programs if it changes and it is clear from the experience of languages like python that incompatible changes (like going from version 2 to version 3) can splinter the community for a while.

Even within components of the tidyverse, some things might have been done way more differently if the underlying language had been a bit different like the silly use of "+" in sort of adding layers when making a plot in the ggplot world. Wouldn't that, in a sense, make more sense using a reasonable pipeline where the existing object is passed along as an invisible first attribute for all subsequent steps as in:

ggplot(...) |> geom_point(...) |> theme_bw() |> facet_wrap(...) ...

Note this would not preclude saving the object along the way as is often done by placing a copy in "p" and later doing "p + ggtitle(...) + coord_flip()" as all you need do is add p as the first argument to ggtitle above, or as the first item in a pipeline.

But it is now a tad too late and it would break all kinds of existing code so probably a brand new set of packages would be needed and used very carefully to avoid trampling on namespaces and not mixing and matching parts.


-----Original Message-----
From: Marc Schwartz <marc_schwartz using me.com>
To: r-help using r-project.org <r-help using r-project.org>; Avi Gross <avigross using verizon.net>
Sent: Sat, Jun 25, 2022 3:20 pm
Subject: Re: [R] R for linear algebra


On June 25, 2022 at 2:38:42 PM, Avi Gross via R-help (r-help using r-project.org (mailto:r-help using r-project.org)) wrote:

> Just adding to my previous post, I looked back and this forum has at times had discussions in which the use of packages related to R STUDIO and/or the tidyverse was considered somehow not aligned with the mailing list.

<snip>

Avi,

Very narrowly responding to your comments above, the posting guide for R-Help was updated effective April 1, 2022, to specifically modify the language there regarding acceptable content. There was a post by John Fox on this here:

  https://stat.ethz.ch/pipermail/r-help/2022-April/474263.html

This was based upon discussions among R Foundation members, of which I am one, with the caveat that I do not speak formally on behalf of the R Foundation here.

The discussions were predicated upon what, at times, have been "energetic" threads here regarding what is on or off topic. 

The new language was crafted to make it clear that discussions of third party CRAN packages are acceptable here, while implicitly recognizing that some packages may not be widespread in use and/or may have dedicated support forums of their own. Thus, in some cases, directly contacting the package maintainer(s) may still be the best course of action, in the absence of a helpful response here.

Going back too far in the R-Help archives (e.g. before April 1, 2022) may be biased relative to the discussions on acceptable CRAN package content here, given the recent change in the guide, and the likelihood that there was a transition in list behavior for a period of time.

Regards,

Marc Schwartz



	[[alternative HTML version deleted]]



More information about the R-help mailing list