1.15 연습문제
Interpreter 방식 컴퓨터 언어의 예를 드시오.
Pointer 개념은 call-by-value를 위한 것인가, 아니면 call-by-reference를 위한 것인가?
Memory 사용의 효율성을 위해서는 call-by-value 방식이 좋은가, 아니면 call-by-reference 방식이 좋은가?
당신이 지금 사용하고 있는 R 환경에서 print() 함수가 몇 개의 class와 연결되어 있는지 계산하여 보시오.
length(methods(print))
- 다음의 연산 결과를 예측하고 실행해 보시오.
0:2*1:6
0 + c(-1, 1)*2*1
- 다음의 연산 결과를 예측하고 실행해 보시오.
round(0:9 + 0.5)
- 다음의 연산 결과를 예측하고 실행해 보시오.
Inf + 0
Inf - Inf
Inf/Inf
1/Inf == -1/Inf
0/0
- 다음의 연산 결과를 예측하고 실행해 보시오.
TRUE + FALSE
prod(rep(T, 10))
cumsum(rep(T, 10))
- 다음의 연산 결과를 예측하고 실행해 보시오.
1 + 1e-15 == 1
1 + 1e-16 == 1
10 + 1e-15 == 10
.1 + 1e-16 == .1
- 나의 data.frame이나 matrix를 csv 파일로 저장할 때 NA를 .으로 표시하고 싶을 때 다음의 문장을 수정하여 써 보시오.
write.csv(df1, "df1.csv", row.names=F, quote=F, na="")
- 다음의 실행 결과를 예측하고 실행하시오.
is(mtcars)[2]
- 다음의 연산 결과를 예측하고 실행해 보시오.
x = 1:6 ; x
attr(x, "dim") = c(2, 3) ; x
- R 내장 자료인 mtcars의 첫 번째 column 이름은 mpg이다. 다음의 실행 결과를 예측하고 실행해 보시오.
mtcars["mpg"] # or mtcars[1]
mtcars[["mpg"]] # or mtcars[[1]]
둘의 차이를 설명해 보시오. 그리고 다음의 실행 결과는 위의 어느 것과 같은가?
mtcars$mpg
- 다음의 결과를 예측하고 실행해 보시오.
sort(unique(mtcars$cyl))
- R에서 아래와 같이 vector를 출력해 보면 출력 결과의 가장 왼쪽에 bracket에 둘러싸인 숫자가 있다. 이것은 무엇인가?
as.numeric(lh)
- 다음의 계산 결과를 예측하고 실행해 보시오.
a = 1
for (i in 1:10) a = a*2
a*i
- 다음의 계산 결과를 예측하고 실행해 보시오.
b = 2
(function(x) b = x*2^9)(b)*b