2020 전산통계학 1차 과제 - 벡터, 행렬

코딩 공부/R-전산 통계학 2020. 10. 20. 11:13
반응형

1번) x = c(10, NULL, 20, 30, NA)에서 NA, NULL, NaN을 제외한 합, 평균, 곱 구하기

 

# data
x <- c(10,NULL,20,30,NA)

y <- as.numeric(x)
is.na(y)
z <- y[-4]
sum(z)
mean(z)
prod(z)


2번) v <- 1:100 에서 1,6,11,…,96 print 시키기

# data
v <- c(1:100)
new <- c()
for (i in 1:20) {
  new[i] <- v[(5*i)-4]
  new
}
new


3번) character vector c("Python","NumPy", "Pandas")  paste 사용하여  "PythonNumPyPandas"  print 하기

A <- c("Python")
B <- c("NumPy")
C <- c("Pandas")
paste(A,B,C,sep ='')


4번)  개의 matrix (x = matrix(1:12, ncol=3), y = matrix(13:24, ncol=3)) 아래-위로 합쳐 만들기

A <- matrix(c(1:12),ncol=3) ; B <- matrix(c(13:24),ncol=3)
rbind(B,A)


5번) 다음 사진과 같은 matrix  m1, m2, m3을 만들기

m1 <- matrix(c(1:20),nr=5, byrow = F)
m1


m2 <- matrix(c(1,3,5,7,8,9,11,12,14),nr=3, byrow = T)
row.names(m2) <- c("Row1","Row2","Row3")
colnames(m2) <- c("Col1","Col2","Col3")

m2


m3 <- matrix(c(1,7,11,3,8,12,5,9,14),nr=3, byrow = T)
row.names(m3) <- c("Row1","Row2","Row3")
colnames(m3) <- c("Col1","Col2","Col3")

m3


<과제 총평>

1번 : 그냥 줌

 

2번 : print 는 함수 내부에서 진행되며 해당하는 변수의 변하는 값들을 전부 찍어나오게 합니다, 그렇다면 이 print 된 값을 어떻게 하나의 벡터로 가질 수 있을지도 생각해봐야 합니다.

 

3번 : 아마 paste 혹은 paste0 라는 함수를 제대로 몰랐을 텐데, 이럴 때는 R에서 "?모르는 명령어" 를 치거나 google에 검색하면 여기보다 더 자세한 설명이 쏟아져 나옵니다

 

4번 : 문제에서 아래-위 로 합치라고 했듯이, 문제 제대로 보고 푸는 습관을 가집시다

 

5번 : 행렬에 이름 붙이는 방법 (row, col names) 만 알고있으면 쉽게 맞히는 문제

TAG