Вы должны, вероятно, посмотрите ссылочные классы, но вы также можете просто использовать обычные старые среды:
> a=new.env()
> a$data=c(1,2,3)
> b=a
> b$data
[1] 1 2 3
> a$data[1]=99
> b$data
[1] 99 2 3
a
и b
такие же среда:
> a
<environment: 0xa1799fc>
> b
<environment: 0xa1799fc>
поэтому их содержание являются одни и те же объекты.
Я думаю, что некоторые из других систем R OO (R.oo, proto?) Используют такие среды, чтобы реализовать объекты и методы OO.
Итак, хотя вы можете использовать , такие действия могут быть очень трудными для поиска ошибок, и вам, вероятно, не стоит этого делать.
Пожалуйста, прекратите называть их R5. R Core, люди, которые написали S3, S4 или Reference Classes, не используют этот термин, который уже был развернут для другого проекта внутри R. Это была наша шутка, которую мы вытащили; к сожалению, Хэдли увековечил его. Давайте остановим это. –