[R] How to make a deep copy of a list?
Ivan Krylov
kry|ov@r00t @end|ng |rom gm@||@com
Sat Nov 12 21:20:03 CET 2022
В Sat, 12 Nov 2022 20:04:57 +0000
Giovanni Petris <gpetris using uark.edu> пишет:
> The problem is that the C code modifies elements of the list so that,
> after the R function returns, I end up with a modified version of the
> list argument. I believe passing to the function a deep copy of the
> list argument would solve my problem.
Is it an option to change the C code? I think that the fault lies with
it, not with its caller. Except when using reference types, it should
be safe to make the assumption that variables in R are passed as if by
copy.
In the interest of getting a quick workaround, does
unserialize(serialize(L, NULL)) help? I would expect that to work unless
your list contains something like environments.
--
Best regards,
Ivan
More information about the R-help
mailing list