Does R have a concept of +=
(plus equals) or ++
(plus plus) as c++/c#/others do?
R doesn't have a concept of increment operator
(as for example ++ in C). However, it is not difficult to implement one yourself, for example:
inc <- function(x)
{
eval.parent(substitute(x <- x + 1))
}
In that case you would call
x <- 10
inc(x)
However, it introduces function call overhead, so it's slower than typing x <- x + 1
yourself. If I'm not mistaken increment operator
was introduced to make job for compiler easier, as it could convert the code to those machine language instructions directly.
Increment and decrement by 10.
require(Hmisc)
inc(x) <- 10
dec(x) <- 10
There's another way of doing this, which i find very easy, maybe might be off some help
I use <<-
for these situation
The operators <<-
assigns the value to parent environment
inc <- function(x)
{
x <<- x + 1
}
and you can call it like
x <- 0
inc(x)
R doesn't have these operations because (most) objects in R are immutable. They do not change. Typically, when it looks like you're modifying an object, you're actually modifying a copy.
We can also use inplace
library(inplace)
x <- 1
x %+<-% 2
No, it doesn't, see: R Language Definition: Operators