질문 R에 개체에 대한 참조 개념이 포함되어 있습니까?개체에 대한 참조 만들기
파이썬에서는 동일한 연산자가 실제로 참조로 복사됩니다. 예를 들어 :
>> a = [1,2,3]
>> b = a
>> b[1] = 10
>> a
[1, 10, 3]
또는 C
++vector a(3);
a[1] = 1;
vector& b = a;
b[1] = 10;
// now a[1] = 10
질문 R에 개체에 대한 참조 개념이 포함되어 있습니까?개체에 대한 참조 만들기
파이썬에서는 동일한 연산자가 실제로 참조로 복사됩니다. 예를 들어 :
>> a = [1,2,3]
>> b = a
>> b[1] = 10
>> a
[1, 10, 3]
또는 C
++vector a(3);
a[1] = 1;
vector& b = a;
b[1] = 10;
// now a[1] = 10
예,이 기능은 내가 나 자신을 사용한 적이 있지만, R에 존재한다. 참조 클래스 (또는 R5 클래스는 때때로 더빙되기 때문에)에는 이런 종류의 동작이 있습니다. 상당히 자세한 설명서는 예와 함께 아래 링크에
http://www.inside-r.org/r-doc/methods/ReferenceClasses
아마 더 많은 예제
당신은 아마해야를 포함하는 다양한 프리젠 테이션에 링크 SE에 대한 다른 질문이 있습니다 참조 클래스를 살펴 보겠습니다. 보통의 오래된 환경을 사용할 수도 있습니다 :
> 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
<environment: 0xa1799fc>
> b
<environment: 0xa1799fc>
그래서 그 내용이 동일한 개체 :
a
및 b
는 동일한 환경입니다.
다른 R OO 시스템 (R.oo, proto?)은 OO 개체 및 메소드를 구현하기 위해 이와 같은 환경을 사용한다고 생각합니다.
이 작업을 수행하면 이와 같은 액션 - 어웨이 - 거리 효과로 인해 버그를 찾기가 매우 어려워 질 수 있습니다.
R5라고 부르는 것을 중단하십시오. R Core, S3, S4 또는 Reference Classes를 작성한 사람들은 R에서 다른 프로젝트를 위해 이미 배치 된 용어를 사용하지 않습니다. 우리가 끌어 낸 것은 우리 농담이었습니다. 불행히도 해들리는 그것을 영속시켰다. 이걸 그만하자. –