[r] R 프로그래밍 언어에서 ~ (물결표) 사용

다음 명령에서 회귀 모델링에 대한 자습서를 보았습니다.

myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width

이 명령은 정확히 무엇 ~을하며 명령에서 (물결표) 의 역할은 무엇 입니까?



답변

권리에 대한 문제는 <-A는 formula객체입니다. 통계 모델을 나타내는 데 종종 사용되며, 왼쪽에있는 ~것은 반응이고 오른쪽에있는 ~것은 설명 변수입니다. 영어로 당신은 “종은 Sepal Length, Sepal Width, Petal Length 및 Petal Width에 의존합니다” 와 같은 것을 말할 것 입니다.

myFormula <-줄 의 일부는 수식을 객체에 저장 myFormula하므로 R 코드의 다른 부분에서 수식을 사용할 수 있습니다.


R에서 공식 객체의 다른 일반적인 용도

lattice패키지는 그들을 사용 플롯에 변수를 지정합니다 . 패키지는 그들을 사용하는 플로팅 패널을 지정합니다 . 패키지는 그들을 사용하는 비표준 evaulation .
ggplot2
dplyr


답변

R은 ~수식에 사용하기위한 (물결표) 연산자를 정의합니다 . 수식에는 모든 종류의 용도가 있지만 가장 일반적인 회귀 분석입니다.

library(datasets)
lm( myFormula, data=iris)

help("~")또는 help("formula")더 많은 것을 가르쳐 줄 것입니다.

@Spacedman은 기본 사항을 다뤘습니다. 그것이 어떻게 작동하는지 논의 해 봅시다.

먼저 연산자이기 때문에 기본적 으로 함수에 대한 바로 가기입니다 (두 개의 인수 포함).

> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs

예를 들어 apply가족 명령 에 사용하는 데 도움이 될 수 있습니다 .

둘째, 수식 을 텍스트로 조작 할 수 있습니다 .

oldform <- as.character(myFormula) # Get components
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )

셋째, 목록으로 조작 할 수 있습니다 .

myFormula[[2]]
myFormula[[3]]

마지막으로 수식에 유용한 유용한 트릭이 있습니다 (자세한 내용 참조 help("formula")).

myFormula <- Species ~ . 

예를 들어, 위의 버전은 원래 버전과 동일합니다. 점은 “사용되지 않은 모든 변수”를 의미하기 때문입니다. 이것은 최종 모델 호출에 사용하는 data.frame을보고 data.frame에 존재하지만 수식에 명시 적으로 언급되지 않은 변수를 확인하고 점을 누락 된 변수로 바꿉니다.


답변