¿R tiene un concepto de +=(más igual) o ++(más más) como c ++ / c # / otros?
                    
                        r
                                operators
                                variable-assignment
                                increment
                                
                    
                    
                        SFun28
fuente
                
                fuente

x += 1ox++...x = x + 1funciona.Respuestas:
No, no lo hace, ver: R Definición del lenguaje: Operadores
fuente
Siguiendo @ GregaKešpret puedes hacer un operador infijo:
fuente
x = %+=% y/2vuelvex = (x + y)/2. Agregar paréntesis, es decir,x = %+=% (y/2)resuelve el problema.R no tiene un concepto de
increment operator(como por ejemplo ++ en C). Sin embargo, no es difícil implementar uno usted mismo, por ejemplo:En ese caso llamarías
Sin embargo, presenta una sobrecarga de llamadas de función, por lo que es más lento que escribir
x <- x + 1usted mismo. Si no me equivoco,increment operatorse introdujo para facilitar el trabajo del compilador, ya que podría convertir el código a esas instrucciones de lenguaje de máquina directamente.fuente
INCla instrucción se introdujo en procesadores principalmente para implementar contadores (véase el Manual del desarrollador de software de Intel). Actualizaré la respuesta.R no tiene estas operaciones porque (la mayoría) de los objetos en R son inmutables. No cambian Por lo general, cuando parece que está modificando un objeto, en realidad está modificando una copia.
fuente
Incremento y decremento en 10.
fuente
Hmiscde la versión 4.1.0.Lanzamos un paquete, roperators, para ayudar con este tipo de cosas. Puede leer más sobre esto aquí: https://happylittlescripts.blogspot.com/2018/09/make-your-r-code-nicer-with-roperators.html
fuente
Podemos anular
+. Si+se usa unario y su argumento es en sí mismo una+llamada unaria , entonces incremente la variable relevante en el entorno de llamada.otras operaciones no cambian:
Sin embargo, no lo hagas, ya que ralentizarás todo. O hágalo en otro entorno y asegúrese de no tener grandes bucles en estas instrucciones.
También puedes hacer esto:
fuente
Hay otra forma de hacer esto, que me parece muy fácil, tal vez podría ser de alguna ayuda
Utilizo
<<-para esta situación Los operadores<<-asignan el valor al entorno principaly puedes llamarlo así
fuente