¿Tiene R un concepto de +=
(más igual) o ++
(más más) que C++/C#/otros?R: + = (más igual) y ++ (más más) equivalente a C++/C#/java, etc.?
Respuesta
No, No, véase: R Language Definition: Operators
Y arrojará algunos errores graciosos, si los está usando ... – skyin
de incremento y decremento por 10.
require(Hmisc)
inc(x) <- 10
dec(x) <- 10
Estas funciones parecen haberse eliminado de 'Hmisc' a partir de la versión 4.1.0. – llasram
R no tiene un concepto de increment operator
(como por ejemplo ++ en C). Sin embargo, no es difícil de implementar uno mismo, por ejemplo:
inc <- function(x)
{
eval.parent(substitute(x <- x + 1))
}
En ese caso ustedes llamarían
x <- 10
inc(x)
Sin embargo, se supone cargas llamada a la función, por lo que es lento que escribir x <- x + 1
tú mismo. Si no me equivoco, se introdujo increment operator
para facilitar el trabajo para el compilador, ya que podría convertir el código a esas instrucciones de lenguaje de máquina directamente.
Esta función no puede devolver el valor y luego incrementar como un aumento posterior ++. Es más similar a + = o preincrement ++. – Megatron
R no tiene estas operaciones porque (la mayoría) de los objetos en R son inmutables. Ellos no cambian Normalmente, cuando parece que estás modificando un objeto, en realidad estás modificando una copia.
Si bien la inmutabilidad es una propiedad excelente/deseable para los objetos (léase: menos errores), no creo que la inmutabilidad se relacione con la pregunta + =. En otros idiomas, + = se puede aplicar a tipos inmutables (como cadenas en .net). La operación simplemente crea un nuevo objeto y asigna la variable dada a ese nuevo objeto. La inmutabilidad se mantiene y la variable se actualiza. – SFun28
Buen punto. Sin embargo, la inmutabilidad hace que este tipo de operación sea menos natural. – hadley
Siguiendo @ GregaKešpret puede realizar un operador infijo:
`%+=%` = function(e1,e2) eval.parent(substitute(e1 <- e1 + e2))
x = 1
x %+=% 2 ; x
- 1. ¿Qué significa "+ =" (más igual)?
- 2. Más diagonales en R
- 3. más o menos igual sobrecargas
- 4. Cómo encontrar la fecha más alta (más reciente) y la más baja (anterior) [R]
- 5. más eficiente Cálculo coseno R
- 6. ¿Cómo distinguir las teclas más/igual e igual en javascript?
- 7. aprendiendo css más y más profesionalmente
- 8. ¿Qué es más eficiente? Más núcleos o más CPU
- 9. R: encontrar el índice más cercana
- 10. C# más cercano equivalente a la expresión de coincidencia F #?
- 11. R equivalente a SELECT DISTINCT en dos o más campos/variables
- 12. techo a 50 más cercano
- 13. IoC, AOP y más
- 14. Comprobando si la fecha tiene más de un día, más de un año, etc.
- 15. Double.TryParse o Convert.ToDouble - ¿Qué es más rápido y más seguro?
- 16. Fortran: el número entero más grande y el más pequeño
- 17. El evento se dispara más y más veces
- 18. Encuentra las publicaciones más recientes y más cercanas, límite 20
- 19. Cuál es más rápido y más ligero - mysqli & PDO
- 20. selección más pequeña y más bonita con bootstrap.css
- 21. Debo hacer llamadas más frecuentes y más pequeñas; o llamadas más grandes menos frecuentes?
- 22. Número más grande y más pequeño en una matriz
- 23. object_setClass a clase más grande
- 24. WPF rinde más lento con más procesadores
- 25. Es LINQ generalmente más lento que una instrucción SQL igual
- 26. Quicksort ordena números más grandes más rápido?
- 27. Alternativas más rápidas a cvFindContour()
- 28. Conversión cartesiana numerada más rápida a esférica?
- 29. Ir más allá de la función de optimización de R
- 30. PHP, quitar tiempo y más
No, para hacer 'x = + 1' o' 'x ++ -' x = x + 1' obras. –