Skip to content
Prev 10895 / 15379 Next

[R-es] Dos pequeños códigos casi idénticos y sólo funciona el primero

Hola Carlos y Olivier,


En primer lugar, muchísimas gracias por vuestras respuestas. Siempre estáis ahí para echar un cable y os lo agradezco enormemente.

Resumiendo vuestras contestaciones, la duda planteada puede resolverse en una sóla línea de código:


DT.new <- DT[!(envio == "TRUE" & coche == "B")][envio == "FALSE" & coche == "B", coche := "A"]


Me queda la duda de si lo anterior podría escribirse de alguna forma cuya sintaxis sea más comprensible para

alguien que no es experto en la librería data.table. Es decir, algo del tipo:


DT.new <- DT[ , { Guarda todas las filas con envio=="TRUE" y en que coche != "B"

                        y además (algo del tipo else if)

                        Guarda todas las filas con envio =="FALSE" cambiando coche=="B" por coche=="A" } ]


Muchas gracias.