모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : science_51230
    작성자 : Statistics
    추천 : 13
    조회수 : 1205
    IP : 118.127.***.7
    댓글 : 4개
    등록시간 : 2015/06/13 21:24:11
    http://todayhumor.com/?science_51230 모바일
    통계 계산을 도와주는 프로그램 R을 배워보자! (3)
    http://www.todayhumor.com/?science_51188 - 2탄입니다.

    음 시계열을 요청하신 분이 계셨는데... 정말 안타깝게도 제가 아직 통계학과 3학년이라 다음학기에 들을 예정이라서요...

    아는데까지만 알려드릴게요 죄송합니다 ㅠㅠ



    오늘은 행렬로 문을 열어보겠습니다.

    1. 행렬 만드는 법.
    R로 행렬을 만들어 봅시다. 간단한 재료와 우주의 도움만 있으면 됩니다.
    행렬을 만들때는 반드시 행렬의 이름을 지정해야 합니다. A라는 이름으로 저장하겠습니다.
    행렬은 2,-5,4 1,-2,1 1,-4,6 으로 3x3 행렬입니다.
    행렬1.png

    행렬2.png
    행렬을 만드셨다면 이걸 써먹을 줄 아셔야겠죠. 누구나 쉽게 볼 수 있는 방정식을 풀어보겠습니다.

    2. 행렬을 이용한 방정식 풀기
    위에서 만든 행렬식은 2X-5Y+4Z, X-2Y+Z, X-4Y+6Z 로 바꿔서 볼 수 있습니다.
    이걸 이용해서 식을 세워보면
    2X-5Y+4Z = -3
    X-2Y+Z = 5
    X-4Y+6Z = 10 로 가정하고 풀어보겠습니다

    행렬3.png

    어때요 참 쉽죠? 참고로 푸는 방법은 Ax=B, 따라서 x=solve(A)[A의 역행렬]*B 입니다.

    %*%라는 수식은 행렬끼리의 곱셈을 나타낼때 쓰는 방법입니다. 저거 안하면 곱셈 안되요.

    3. 데이터로 행렬 만들어오기
    데이터를 불러오는 작업은 1번에서 했었죠. 이번엔 그 데이터를 행렬로 재구성하는 방법을 해볼껍니다. 이걸 왜하냐구요? 4번에 연관이 되거든요.
    1번에서 불러온 P060.txt 데이터를 a로 저장하고 a1이란 이름으로 X1 ~ X6까지 뽑아보겠습니다.
    행렬4.png

    자 위에서 보시면 a에 P060.txt를 불러왔구요 a<-read.table("P060.txt",header=TRUE)
    a1이라는 이름으로 a의 2~7까지를 matrix 형식으로 저장했습니다. a1<-as.matrix(a[,2:7])
    행렬5.png
    행렬6.png

    보시면 아시겠지만 위의 명령어 as.matrix(a[,2:7])matrix(행렬)a의 2열부터 7열까지 행 구분 없이 전부 뽑아온다. 라는 뜻입니다.

    역시 참 쉽죠?

    4. 행렬 붙이기
    뽑아온 이유가 궁금하시다구요? 간단합니다. X행렬을 만들기 위해서죠. 
    회귀분석은 단순히 lm 함수만 쓰면 되지만 내가 세운 회귀식이 정말 맞는지를 확인하기 위해서는 여러가지 절차가 필요합니다.
    그리고 그 기준이 되는 행렬이 바로 X행렬이죠.
    첫 열이 1, 두번째 열부터 X값이 되어 1, X1, X2 ... X6의 순서로 배열되어야 합니다.
    이를 위해서 X1 ~ X6까지를 뽑고 앞에 1로 만들어진 nx1행렬을 붙이는 방법입니다.

    행렬7.png

    a2라는 행렬을 만듭니다. 이 행렬은 1을 30개(a1의 열의 갯수) 가지고 있습니다.

    행렬8.png

    그리고 이를 cbind(a2,a1)이라는 함수를 통해 열을 늘리는 방법으로 합칩니다. 참고로 a2가 뒤로 가면 순서가 바뀌니 주의하세요.

    행렬 외전.png

    위의 사진은 외전인데 rbind라는 명령어로 행을 늘리는 방법입니다. 물론 거의 안쓰니 그냥 알아두시면 좋아요

    쉽죠?


    행렬 나누기는 제가 위의 3번에서 보여드렸으니 생략하겠습니다.

    이번 시간은 여기까지구요. 다음 시간에는 여러 확률분포들을 들고 돌아오겠습니다.










    p.s) 참고로 혹시나 R 코드에 관심 있으신 분들을 위해 제공하는 행렬로 방정식 푸는 코드

    방정식은 2번에 써있는 그대로입니다.

    A <- matrix(c(2,-5,4,1,-2,1,1,-4,6),byrow=T,nrow=3,ncol=3) #A행렬입니다.
    b <- matrix(c(-3,5,10),nrow=3,ncol=1) #B행렬입니다.
    p <- nrow(A) #p라는 변수를 잡았습니다. A의 열을 나타내는 숫자인데요 자세한건 뒤에...
    eps <- 0.001 #작다고 판명할 수 있는 수 입니다. 이것보다 작으면 0으로 취급할겁니다.

    U.pls <- cbind(A,b) #위에서 배우셨던 행렬 합치기입니다. A를 먼저 그리고 B를 뒤에 열로 붙였습니다.

    for (i in 1:p){ #i라는 변수를 1에서 p까지 적용합니다. p는 위에 보시면 A의 열입니다.
        if((abs(U.pls[i,i]) < eps) & (i < p)){ 
                temp.v <- U.pls[i+1,] 
                U.pls[i+1,] <- U.pls[i,]
                U.pls[i,] <- temp.v
        } 
    #U.pls(A와 B를 합친 행렬)의 i,i(대각 행렬) 이 0일 경우(eps보다 작으면 0으로 취급) 계산하지 않고 밑으로 내립니다. 계산 방법은 선형대수를 들으시면 아시게 됩니다. 
        for (j in (i+1):(p+1)) U.pls[i,j] <- U.pls[i,j]/U.pls[i,i]
        U.pls[i,i] <- 1
        if (i < p) {
           for (k in (i+1):p) U.pls[k,] <- U.pls[k,] - U.pls[k,i]/U.pls[i,i]*U.pls[i,]
        }
    }
    U.pls

    #여기까지 해서 rref(Reduced Row Echelon Form)이 종료됩니다.

    x <- rep(0,p)
    for (i in p:1){
      if (i < p){
         temp <- 0
         for (j in (i+1):p) temp <- temp + U.pls[i,j]*x[j]
         x[i] <- U.pls[i,p+1] - temp
      }
      else x[i] <- U.pls[i,p+1]
    }
    x

    #이제 x를 누르시면 2번의 결과와 같은 124,75,31 이 표시됩니다.

    어때요 참 쉽죠?




    출처 제 컴퓨터

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2015/06/13 21:56:05  175.223.***.99  전자기구리  491274
    [2] 2015/06/14 05:37:54  121.156.***.101  만두국  523542
    [3] 2015/06/14 05:39:46  2.100.***.227  너는봄나는꽃  507864
    [4] 2015/06/14 19:27:31  121.143.***.149  맛있는볶음밥  108079
    [5] 2015/06/15 10:00:05  112.149.***.171  누카콜라  225590
    [6] 2015/06/15 11:36:13  118.220.***.61  엘나스  130543
    [7] 2015/06/15 11:46:19  134.84.***.162  soxxx007  221830
    [8] 2015/06/15 14:55:42  165.194.***.95  급한마음  310326
    [9] 2015/06/15 19:48:17  166.104.***.11  뮤뉴뮤뉴  645411
    [10] 2015/06/15 20:17:21  59.24.***.221  노루궁뎅이버섯  600373
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    68873
    식기들 끓는물 소독 & 다시 흐르는 물에 씻기 [2] 눙물이눙물이 24/11/22 12:29 567 2
    68872
    질문? 대기권 재진입 내열타일 실험할 때 산소도 공급하나요? [3] Young.K 24/11/21 15:31 354 2
    68871
    현직 물리학 교수가 올린 수학 잘하는 법 [3] 제임스Bond 24/11/20 18:04 637 1
    68870
    아인슈타인도 예측하지 못했던 천체현상의 발견 [3] ㅗㅠㅑ 24/11/11 16:43 896 3
    68869
    수십1년간 묵혀졌던 궁금증이 ChatGPT를 통해 해소 됐습니다. [2] ㅗㅠㅑ 24/11/10 22:56 1016 3
    68868
    0.9999.... = 1 그럼 ....999999999 는??? [4] Young.K 24/11/08 14:47 844 3
    68866
    이 덩치큰녀석 언제 다 올렸지 신기하다 [3] dogcat 24/11/05 16:11 933 2
    68865
    우리가 사는 세상이 가상현실이라는 증거 [1] ㅗㅠㅑ 24/11/05 13:26 802 3
    68864
    대기 중 CO2 획기적 제거 신물질 'COF-999' 개발 "눈길" [5] 펌글 우가가 24/11/04 00:01 946 3
    68863
    김범준 교수님이 했던 기억에 남는말, 물질이 빛보다 빠를 수 없는 이유 [2] Oh_My!_Girl 24/10/29 16:57 1118 2
    68861
    귀신(?)에 대한 공포는 사람이 아닌 다른 동물들도 마찬가지인걸까요? [2] Oh_My!_Girl 24/10/28 11:29 1012 2
    68856
    물리학에서 질량은 우주어디에서나 변함없이 같다 .특수상대성이론은 [4] dogcat 24/10/21 20:41 1066 0
    68855
    우주의 크기는 대략 140억광년이다. [6] dogcat 24/10/21 20:03 1345 2
    68854
    블랙홀과 열역학 [4] 달음 24/10/17 00:24 1395 0
    68853
    음식무게와 살찌는 체중증가의 관계? [6] 리버풀7 24/10/16 20:57 1169 0
    68852
    [도움] 수학문제 풀이가능하신분 ! [5] 유전자몰빵 24/10/09 17:06 1290 0
    68851
    [잡설] 양자얽힘과 초공간과 암흑물질과. [2] Young.K 24/10/01 22:39 1419 0
    68850
    음악 자주 듣는 분들 과학적 꿀팁 [2] 사나이직각 24/09/28 22:49 1613 2
    68848
    등가원리가 맞다면, 가속도 운동도 시공간휨을 발생시키는가? [2] 본인삭제금지 arevo 24/09/22 01:00 1588 1
    68847
    폴라리스 던. 극궤도 유인 탐사 1400km 돌파! +EVA [1] 펌글 Young.K 24/09/11 17:45 1552 0
    68846
    무한히 작은 확률을 31%까지 끌어올리는 방법 [2] 펌글 우가가 24/09/04 23:14 2190 5
    68845
    [소식] 스타라이너 스피커에서 나는 소리가 해결되었다고 합니다. [2] Young.K 24/09/02 11:04 1889 1
    68844
    [펌] 시카노코노코노코 Young.K 24/08/31 17:16 1709 1
    68843
    프리 노벨상 인체물리학 24/08/30 10:39 1714 0
    68842
    안녕하세요 오랜만에 질문드리네요! 삼차함수 미분문제 풀어주실분 계실까요? [2] 창작글본인삭제금지 난선생너학생 24/08/29 14:39 1683 1
    68841
    [펌] 팰컨9 B1062 부스터가 착륙에 실패하여 파괴되었습니다(추가3) [2] Young.K 24/08/29 00:52 1870 1
    68840
    [펌] 스타라이너 승무원들은 Crew-9으로 복귀합니다. [4] Young.K 24/08/25 04:07 2073 1
    68839
    비행기가 뜨는 양력 이론 쉽게 이해 하기. [11] 나비의아이 24/08/14 06:50 2403 3
    68838
    슈퍼컴퓨터로 지진운의 과학적 입증? [6] 나비의아이 24/08/14 04:52 2252 0
    68837
    [펌] 보잉 스타라이너 CST-100 승무원 대체 귀환 고려 중. [6] 펌글 Young.K 24/08/08 18:33 2186 1
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈