[R] Multiplying two vectors of the same size to give a third vector of the same size

Philip Rhoades ph|| @end|ng |rom pr|com@com@@u
Tue Jun 20 19:04:24 CEST 2023


avi,


On 2023-06-21 01:55, avi.e.gross using gmail.com wrote:
> Phil,
> 
> What have you tried. This seems straightforward enough.
> 
> Could you clarify what you mean by NULL?


I guess in R in would just be an empty cell? - ie NOT a zero.


> In R, it is common to use NA or a more specific version of it.


Ah yes, that would be it I think.


> So assuming you have two vectors containing floats with some NA, then:
> 
> C <- A*B
> 
> Will give you the products one at a time if the lengths are the same. 
> NA
> times anything is NA.


Right - yes that works! - thanks!


> Your second condition is also simple as you want anything below a 
> threshold
> to be set to a fixes value.
> 
> Since you already have C, above, your condition of:
> 
> threshold <- 0.1
> C < threshold
> 
> The last line returns a Boolean vector you can use to index C to get 
> just
> the ones you select as TRUE and thus can change:
> 
> Result <- C[C < threshold]


Ah, I see . .


> And you can of course do all the above as a one-liner.


Yes.


> Is that what you wanted?


Exactly except I meant:

   Result <- C[C > threshold]

Thanks!

Phil.


> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Philip Rhoades 
> via
> R-help
> Sent: Tuesday, June 20, 2023 11:38 AM
> To: r-help using r-project.org
> Subject: [R] Multiplying two vectors of the same size to give a third 
> vector
> of the same size
> 
> People,
> 
> I am assuming that what I want to do is easier in R than say Ruby.
> 
> I want to do what the Subject says ie multiply the cells in the same
> position of two vectors (A and B) to give a result in the same position
> in a third vector (C) BUT:
> 
> - The values in the cells of A and B are floats between 0.0 and 1.0 or
> NULL
> 
> - If there is a NULL in the multiplication, then the result in the cell
> for C is also a NULL
> 
> - If there is a value less than (say) 0.01 in the multiplication, then
> the result in the cell for C is 0.0
> 
> Any suggestions appreciated!
> 
> Phil.
> 
> --
> Philip Rhoades
> 
> PO Box 896
> Cowra  NSW  2794
> Australia
> E-mail:  phil using pricom.com.au
> 
> ______________________________________________
> 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.
> 
> ______________________________________________
> 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.

-- 
Philip Rhoades

PO Box 896
Cowra  NSW  2794
Australia
E-mail:  phil using pricom.com.au



More information about the R-help mailing list