전산통계학 1차 과제 - 행렬
코딩 공부/R-전산 통계학 2019. 11. 18. 08:421번) '전산통계1.pdf' 2~9chap 까지 exercise 풀기 <ㅡ 보고 따라서 하면 되므로, 따로 올리지 않을게요
2번) 'x=matrix(1:100,10)' 으로 설정하고, 'ㄷ,ㅁ,ㅂ 위치의 원소 = 0' 으로 바꾸는 함수 만들기
# ㄷ=0
x=matrix(1:100,10)
for(i in 1:nrow(x)){
for(j in 1:ncol(x)){
x[j,1]=0
x[nrow(x),j]=0
x[1,j]=0
}
}
x
# ㅁ=0
x=matrix(1:100,10)
for(i in 1:nrow(x)){
for(j in 1:ncol(x)){
x[j,1]=0
x[nrow(x),j]=0
x[1,j]=0
x[j,ncol(x)]=0
}
}
x
# ㅂ=0
x=matrix(1:100,10)
for(i in 1:nrow(x)){
for(j in 1:ncol(x)){
x[j,1]=0
x[nrow(x),j]=0
x[{(nrow(x)/2)},j]=0
x[j,ncol(x)]=0
}
}
x
3번) x=matrix(1:121,11) 으로 설정하고, X와 Y를 다음 사진과 같은 모양으로 바꾸는 함수 만들기
# X
x=matrix(1:121,11)
for(i in 1:ncol(x)){
for(j in 1:ncol(x)) {
if(i==j){
x[i,j]=2}
else if(i+j==12){x[i,j]<-1}
}
}
x[mean(1:nrow(x)),mean(1:ncol(x))]=0
x
# Y
x=matrix(1:121,11)
for(i in 1:ncol(x)){
for(j in 1:ncol(x)) {
if(i>=3 & i<=5){
if(i==j){x[i,j]=3}
if(i>=3 & i<=5) {
if(i+j==12) {x[i,j]<-4}
}
}
if(i>=6 & i<=8) {x[i,mean(1:ncol(x))]<-6}
}
}
x
<과제 총평>
1번 : 노가다에요
2번 : ㄷ,ㅁ,ㅂ 은 직선 형태이므로, for 문을 사용할 의미가 안 보이는 듯 싶지만, 대각선 형태인 ㅅ,ㅈ 을 연습해 보는 것을 추천해요
더욱 능숙해지고 싶으시다면 ㅎ ㅡ> 더더욱 능숙해지고 싶으시다면 좀더 행렬을 넓혀서 '부모'글자를 만들어보셔요 (18년 실제 문제)
3번 : X,Y 의 대각선은 의외로 규칙성 있어서 쉽게 하셨을 거에요