2013-02-10 7 views
2

질문 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 

답변

1

예,이 기능은 내가 나 자신을 사용한 적이 있지만, R에 존재한다. 참조 클래스 (또는 R5 클래스는 때때로 더빙되기 때문에)에는 이런 종류의 동작이 있습니다. 상당히 자세한 설명서는 예와 함께 아래 링크에

http://www.inside-r.org/r-doc/methods/ReferenceClasses

아마 더 많은 예제

What is the significance of the new Reference Classes?

+0

R5라고 부르는 것을 중단하십시오. R Core, S3, S4 또는 Reference Classes를 작성한 사람들은 R에서 다른 프로젝트를 위해 이미 배치 된 용어를 사용하지 않습니다. 우리가 끌어 낸 것은 우리 농담이었습니다. 불행히도 해들리는 그것을 영속시켰다. 이걸 그만하자. –

4

당신은 아마해야를 포함하는 다양한 프리젠 테이션에 링크 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> 

그래서 그 내용이 동일한 개체 :

ab는 동일한 환경입니다.

다른 R OO 시스템 (R.oo, proto?)은 OO 개체 및 메소드를 구현하기 위해 이와 같은 환경을 사용한다고 생각합니다.

이 작업을 수행하면 이와 같은 액션 - 어웨이 - 거리 효과로 인해 버그를 찾기가 매우 어려워 질 수 있습니다.

관련 문제