모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

IT/모두를 위한 R 데이터 분석 입문 연습문제

by Plaver 2020. 4. 8.

문1.

<스크립트 (1), (2)>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

< 스크립트 (3), (4) >

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과 (1), (2) >

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

< 결과 (3), (4) >

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

문 2, 3, 4

<스크립트>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과 >

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

문 5, 6

<스크립트>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

문 7, 8

<스크립트>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<문 9>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

문 10, 11

<스크립트>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

문 12

<스크립트>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

<결과>

모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang

틀린 것이 있다면 언제든 댓글로 달아주세요~!

관련글

댓글16

  • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
    익명 2020.04.28 18:04

    비밀댓글입니다
    답글

    • 아이고, 그러네요.
      4번 문제의 경우

      if문 안에있는
      cat("*","") 문 바로아래에
      next
      한줄만 추가해주시면 됩니다!

    • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
      익명 2020.04.29 12:56

      비밀댓글입니다

    • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
      익명 2020.10.11 18:16

      비밀댓글입니다

  • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
    익명 2020.05.15 17:33

    비밀댓글입니다
    답글

    • 일단 아래 for문은 이해가 되시죠?
      3부터 999까지의 숫자들 중에 소수들 구하려고 하는 것이니까요. 그래서 그 숫자들 일일해 isPrime이라는 함수에 대입해서 isPrime에서 TRUE, 즉 소수일 경우 화면에 출력하는 내용인데요.

      소수를 판별하는 isPrime 함수에서는 2부터 시작해서 sqrt(x)보다 작은 정수까지 돌아가면서, 해당 숫자를 나눌 수 있는지 확인합니다. 만약 나눌 수 있으면 당연히 소수가 아니므로 FALSE를 반환하고, 그 즉시 함수를 종료하는 거죠.
      그리고 끝까지 나누는 수가 없다면 당연히 소수이니까 while문이 끝나고 나서 TRUE값을 반환하는 거구요.
      여기서는 x를 나눌 수 있는 약수의 범위를 x의 제곱근 아래로 설정했는데, 물론 x-1 까지 나눠 볼 수도 있지만 제가 어디선가 듣기로 소수를 판별하는 방법 중에 하나가 제곱근을 이용하는 방법이더군요. 소수 판별법은 검색하시면 많이 나와있으니 아무거나 선택해서 적용하시면 될 것 같습니다.

    • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
      익명 2020.05.16 17:48

      비밀댓글입니다

    • 맞네요 =.=;;

      제가 너무 대충 했네요;;
      isPrime 함수를
      아래 코드와 같이 수정해주세요!

      isPrime = function(x)
      {
      i <- 2
      while(i < (as.integer(sqrt(x) )+1))
      {
      if( x %% i == 0)
      return(FALSE)
      i <- i + 1
      }
      return(TRUE)
      }

  • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
    익명 2020.10.11 18:19

    비밀댓글입니다
    답글

    • 2는 24의 약수가 아닌가요...?

      제가 기억하기로 저 문제는 인수들을 출력하라는 내용이었던 것 같은데...

      만약 약수 출력이라면
      (1, 2, 3, 4, 6, 12, 24)
      제가 잘못한거네요

  • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
    익명 2020.10.13 17:57

    비밀댓글입니다
    답글

    • 저 위에 factorial은 그냥 문자열이고,
      문제에서 요구한 factorial()을 사용하지 말라는 것은 R언어에 내장되어 있는 함수를 사용하지 말라는 의미입니다.
      저 위에서는 fatorial을 직접 구현했으니 상관이 없는거죠.

      4번 문제의 경우 댓글에 제가 달아놨습니다. 제가 실수한 부분입니다.

  • 모두를 위한 R 데이터 분석 입문 연습문제 1 장 - moduleul wihan R deiteo bunseog ibmun yeonseubmunje 1 jang
    익명 2020.10.14 12:17

    비밀댓글입니다
    답글

    • 죄송합니다 제가 매일 확인할 수가 없어서.... -.-;
      늦어버렸네요;

    • for(i in 2:12){
      if(24 %% i == 0)
      {
      cat(i, " ")
      }
      }

      print_divisor = function(x)
      {
      k = x/2
      for(i in 2:k)
      {
      if(x %% i == 0)
      {
      cat(i, " ")
      }
      }
      cat('\n')
      }
      cat("\n------print with function------\n")
      print_divisor(24)

    • 아래는 함수를 사용해봤습니다. 뭐 문제에는 위나 아래 어느거든 상관없겠죠.