최상의 답변
저는이 이야기가 일화 적이 지 않다고 생각합니다. 모든 사람들이 R은 S를 기반으로하고 S는 통계 언어를 의미하고 S는 오픈 소스 언어라고 생각합니다. S의 중요성이 커지면서 IBM은이를 인수하기를 원했지만 S의 핵심 팀 일부는이를 오픈 소스로 유지하기를 원했고 나머지 부분은 IBM의 제안에 동의했습니다. 나중에 IBM이 인수 한 부분은 계속해서 S 플러스가되었고 오픈 소스 커뮤니티가 번성하여 S에 많은 것을 추가했으며 결국 R로 이름이 바뀌 었습니다.
Answer
사용할 의무는 없습니다. R에서 참조 할 때 $이지만 많은 경우 참조를 쉽게 만듭니다. $ in R은 일반적으로 더 큰 데이터 개체 내에서 명명 된 개체를 참조 할 때 사용됩니다. 이는 목록 및 데이터 프레임과 같은 개체에 적용될 수 있습니다.
예
먼저 임의의 정보가 포함 된 목록을 만들어 보겠습니다.
random <- list("numbers" = c(1, 2, 3), "places" = list("countries" = c("Canada", "South Africa"), "cities" = c("Vancouver", "Cape Town")))
다음은 무작위 목록의 구조입니다.
> random
$numbers
[1] 1 2 3
$places
$places$countries
[1] "Canada" "South Africa"
$places$cities
[1] "Vancouver" "Cape Town"
위 구조에 표시된 것과 똑같은 방식으로 목록 내의 다른 항목을 참조 할 수 있습니다. 예를 들어 국가 및 도시 정보가 포함 된 전체 장소목록을 원하는 경우 다음과 같이 참조 할 수 있습니다.
> random$places
$countries
[1] "Canada" "South Africa"
$cities
[1] "Vancouver" "Cape Town"
국가 이름 만 원하는 경우 $를 사용하여 목록을 더 자세히 살펴볼 수 있습니다.
random$places$countries
[1] "Canada" "South Africa"
원자 벡터 (숫자 또는 문자열과 같은 단일 값을 포함하는 벡터)를 참조 할 때 $를 사용할 수 없습니다. 예를 들어, 위의 국가 이름은 원자 벡터 내에 저장됩니다. 단일 국가를 검색하려면 색인 이름 또는 번호를 사용해야합니다.
> random$places$countries[2]
[1] "South Africa"
국가에 색인 이름이 있어도 $를 사용할 수 없습니다.
> countries <- c("country1" = "Canada", "country2" = "South Africa")
$ :
> countries$country2
국가는 원자 벡터이기 때문에 오류가 발생합니다. 이 경우 색인 이름 또는 번호를 사용해야합니다.
> countries["country2"] #using the name of the item
country2
"South Africa"
> countries[2] #using the index of the country within the vector
country2
"South Africa"
도움이되기를 바랍니다.