1.15 연습문제

  1. Interpreter 방식 컴퓨터 언어의 예를 드시오.

  2. Pointer 개념은 call-by-value를 위한 것인가, 아니면 call-by-reference를 위한 것인가?

  3. Memory 사용의 효율성을 위해서는 call-by-value 방식이 좋은가, 아니면 call-by-reference 방식이 좋은가?

  4. 당신이 지금 사용하고 있는 R 환경에서 print() 함수가 몇 개의 class와 연결되어 있는지 계산하여 보시오.

    length(methods(print))
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    0:2*1:6
    0 + c(-1, 1)*2*1
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    round(0:9 + 0.5)
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    Inf + 0
    Inf - Inf
    Inf/Inf
    1/Inf == -1/Inf
    0/0
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    TRUE + FALSE
    prod(rep(T, 10))
    cumsum(rep(T, 10))
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    1 + 1e-15 == 1
    1 + 1e-16 == 1
    10 + 1e-15 == 10
    .1 + 1e-16 == .1
  1. 나의 data.frame이나 matrix를 csv 파일로 저장할 때 NA를 .으로 표시하고 싶을 때 다음의 문장을 수정하여 써 보시오.
    write.csv(df1, "df1.csv", row.names=F, quote=F, na="")
  1. 다음의 실행 결과를 예측하고 실행하시오.
    is(mtcars)[2]
  1. 다음의 연산 결과를 예측하고 실행해 보시오.
    x = 1:6 ; x
    attr(x, "dim") = c(2, 3) ; x
  1. R 내장 자료인 mtcars의 첫 번째 column 이름은 mpg이다. 다음의 실행 결과를 예측하고 실행해 보시오.
    mtcars["mpg"] # or mtcars[1]
    mtcars[["mpg"]] # or mtcars[[1]]

둘의 차이를 설명해 보시오. 그리고 다음의 실행 결과는 위의 어느 것과 같은가?

    mtcars$mpg
  1. 다음의 결과를 예측하고 실행해 보시오.
    sort(unique(mtcars$cyl))
  1. R에서 아래와 같이 vector를 출력해 보면 출력 결과의 가장 왼쪽에 bracket에 둘러싸인 숫자가 있다. 이것은 무엇인가?
    as.numeric(lh)
  1. 다음의 계산 결과를 예측하고 실행해 보시오.
    a = 1
    for (i in 1:10) a = a*2
    a*i
  1. 다음의 계산 결과를 예측하고 실행해 보시오.
    b = 2
    (function(x) b = x*2^9)(b)*b