너를 R래 seq()함수

뭬몰뤼·2022년 12월 1일
1

R

목록 보기
1/1

seq()함수의 개념.

seq()는 등비수열, 등차수열 의 개념을 이용한 함수이다.
seq()는 함수실행 전에 첫 번째로 제공된 인수의 클래스를 기반으로 메서드를 인식한다. 즉, 인수가 어떤 옵션에 해당되는지를 인식해 다른 해석을 보여준다.

seq(from & along.with) 중 1가지를 선택함.
seq(from, to, by)일때, by대신 length.out을 쓸 수 있다.

  • seq()함수는 첫번째 인수가 num이면 from으로 벡터면 along.with으로 인식한다.
  • 세번째 인수는 by대신 length.out을 쓸 수도 있다.


seq()함수의 특징

  • 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이어야 합니다.


답) 1. 1번은 -5부터 5까지 벡터를 생성하고, 2번은 -5부터 5까지의 길이를 정수열로 반환하기 때문에 결과가 다르다.
  1. seq(-5:5, by=1)가 오류가 난 이유는?
    seq()는 함수실행 전에 첫 번째로 제공된 인수의 클래스를 기반으로 메서드를 인식한다.
    첫번째 인수가 num이면 seq(from, to, by)로 인식하고,
    첫번째 인수가 벡터면 seq(along.with)로 인식하여 벡터의 길이를 정수로 반환한다.
    문제 코드 seq(-5:5, by=1)는 seq()의 첫번째 인수가 벡터인데 by를 지정하여 문법 오류가 난것으로, 첫번째 인수를 num으로 변경하거나 두번째 인수 by조건을 삭제해야한다.

잠깐! 이건뭐지?

seq(-3) # 1 0 -1 -2 -3
seq(-3, 1) # -3 -2 -1 0 1

이 두개의 차이가 뭘까? 왜? 결과가 다를까?

아는 사람이 댓글 좀 달아줘요ㅠ_ㅠ....알고시퍼요......ㅠㅠ

profile
I'M SOOOOOOOO CUTE

0개의 댓글