seq()는 등비수열, 등차수열 의 개념을 이용한 함수이다.
seq()는 함수실행 전에 첫 번째로 제공된 인수의 클래스를 기반으로 메서드를 인식한다. 즉, 인수가 어떤 옵션에 해당되는지를 인식해 다른 해석을 보여준다.
seq(from & along.with) 중 1가지를 선택함.
seq(from, to, by)일때, by대신 length.out을 쓸 수 있다.
seq()는 등비수열이기 때문에 to=1, by=1이 기본값이다.
seq(x:y)는 seq(along.with)로 인식하여
벡터의 길이를 정수열로 반환한다.
(1부터 세기 때문에 숫자1을 시작으로 반환 한다.)
seq(x)는 seq(from)로 인식하여 1부터 x까지를 보여주는데,
이때, x가 음수면 1부터 x까지 역순으로 1간격으로 나열한다.
seq(x,y)는 seq(from, to, by=1)로 인식하여
x부터 y까지 1씩 차이가 나게 나열한다.
seq(x,y,z)는 seq(from, to, by & length.out)로 인식하여
by일때는 x부터 y까지 z씩 차이나게 나열하고
length.out일때는 x부터 y까지를 z개로 나누어 z개만큼 값을 나열한다.
외우기 팁!)
seq (along.with & from | to | by & length.out) 로 기억하면 좋다.
seq (벡터 & 시작 | 끝 | 간격 & 개수) 로 기억하면 좋다.
Q. 1번과 2번의 값이 다른 이유와 3번이 오류가 나는 이유는 뭘까요?
1. c(-5:5) # -5 ~ 5
2. seq(-5:5) # 1 ~ 11
3. seq(-5:5, by=1) # error: from 길이가 1이어야 합니다.
잠깐! 이건뭐지?
seq(-3) # 1 0 -1 -2 -3
seq(-3, 1) # -3 -2 -1 0 1
이 두개의 차이가 뭘까? 왜? 결과가 다를까?
아는 사람이 댓글 좀 달아줘요ㅠ_ㅠ....알고시퍼요......ㅠㅠ