1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 코너 해리스 : 아직도 내가 흥미 진진한 비디오를 생각 3 00:00:07,690 --> 00:00:12,570 전문 컨설팅에 의해 생산 즉, R의 작업에 많이 사용합니다. 4 00:00:12,570 --> 00:00:16,329 >> 내레이터 : 통계의 의미를, 분석 및 시각화 5 00:00:16,329 --> 00:00:19,770 오늘날의 밝은 데이터 과학자 및 비즈니스 리더에 의존 6 00:00:19,770 --> 00:00:22,012 강력한 의사 결정을 내릴 수 있습니까? 7 00:00:22,012 --> 00:00:23,540 당신은 항상 그것을 볼 수 있습니다. 8 00:00:23,540 --> 00:00:24,790 그러나이있다. 9 00:00:24,790 --> 00:00:29,460 그것은 R라고, 오픈 소스 r-- 사용 통계 프로그래밍 언어 10 00:00:29,460 --> 00:00:32,630 데이터 전문가 세계 모두를위한 사용에 11 00:00:32,630 --> 00:00:35,350 사회 넓은 매핑에서 온라인 마케팅 동향 12 00:00:35,350 --> 00:00:39,210 금융 및 기후를 개발하는 우리의 경제를 운전하는 데 도움 모델 13 00:00:39,210 --> 00:00:40,780 지역 사회. 14 00:00:40,780 --> 00:00:44,910 >> 그러나 정확히 R은 무엇인가 어디 R은 시작 했나요? 15 00:00:44,910 --> 00:00:48,620 잘 원래 R 시작 여기에 두 교수와 16 00:00:48,620 --> 00:00:51,950 누가 더 나은 통계를 원했다 학생들을위한 플랫폼을 제공합니다. 17 00:00:51,950 --> 00:00:56,030 그래서 그들은 하나의 모델로 만들어 통계 언어 S. 후 18 00:00:56,030 --> 00:01:00,480 그들은, 많은 다른 사람과 함께, 작업 및 R을 사용하여 보관하고, 19 00:01:00,480 --> 00:01:05,489 R 도구를 만들고 찾는 R에 대한 새로운 응용 프로그램을 매일. 20 00:01:05,489 --> 00:01:07,750 >> 이 덕분입니다 전 세계적으로 지역 사회의 노력, 21 00:01:07,750 --> 00:01:11,850 R은 수천 성장 보관 내장 사용자가 만든 라이브러리 22 00:01:11,850 --> 00:01:15,500 연구 기능을 강화하고, 크라우드 소싱 품질 검증 23 00:01:15,500 --> 00:01:19,740 가장 인식 지원 모든 분야에서 업계를 선도하는 24 00:01:19,740 --> 00:01:25,040 R. 때문에, 좋은 어느 사용 R은 무엇에서 최고입니다. 25 00:01:25,040 --> 00:01:28,540 빨리 전문가 신진 및 쉽게 해석, 상호 작용, 26 00:01:28,540 --> 00:01:33,790 빠르게 자신을 보여주는 데이터를 시각화 전 세계적으로 R 사용자의 성장 커뮤니티 27 00:01:33,790 --> 00:01:36,380 어떻게 오픈 소스를 참조 R은 모양 계속 28 00:01:36,380 --> 00:01:39,340 통계의 미래 데이터 분석 및 과학. 29 00:01:39,340 --> 00:01:44,660 30 00:01:44,660 --> 00:01:47,710 >> 코너 해리스 : 좋아, 좋아. 31 00:01:47,710 --> 00:01:50,360 내 자신의 프레 젠 테이션 그래서 좀 더 맑은 정신 일 것이다. 32 00:01:50,360 --> 00:01:54,380 그것은 많은 것을 포함하지 않을 것이다 신나는 배경 음악. 33 00:01:54,380 --> 00:01:59,160 당신이 비디오에서 본 그러나, R은 일종의 범용 프로그램 언어. 34 00:01:59,160 --> 00:02:03,720 그러나 대부분의 생성 통계 작업. 35 00:02:03,720 --> 00:02:07,980 >> 그래서이 통계 설계, 데이터 마이닝을위한 데이터 분석을위한. 36 00:02:07,980 --> 00:02:12,420 그래서 당신은 많은이를 볼 수 있습니다 디자인 선택이 R의 제조 업체 37 00:02:12,420 --> 00:02:13,320 만든. 38 00:02:13,320 --> 00:02:15,472 그것은 대부분을 위해 설계 없는 사람들 39 00:02:15,472 --> 00:02:17,930 프로그래밍 전문가, 사람 단지 프로그램을 따기 40 00:02:17,930 --> 00:02:23,460 측면에 그래서 그들은 자신의 일을 수행 할 수 있습니다 사회 과학이나 통계 41 00:02:23,460 --> 00:02:25,440 또는 무엇이든. 42 00:02:25,440 --> 00:02:27,850 >> 그것은 매우 많이 가지고 C.에서 중요한 차이점 43 00:02:27,850 --> 00:02:33,200 구문과 패러다임하지만 이 사용은 크게 동일합니다. 44 00:02:33,200 --> 00:02:36,830 그리고 당신은 꽤 느껴야한다 바로 박쥐 집에서 많이. 45 00:02:36,830 --> 00:02:38,520 그것은 필수 언어입니다. 46 00:02:38,520 --> 00:02:40,260 >> 그것에 대해 너무 많이 걱정하지 마세요 당신은 용어를 모르는 경우. 47 00:02:40,260 --> 00:02:42,676 그러나 구별있다 필수 선언적 사이, 48 00:02:42,676 --> 00:02:43,810 및 기능. 49 00:02:43,810 --> 00:02:47,600 명령형은 당신이 만드는 의미 기본적으로 명령입니다 문. 50 00:02:47,600 --> 00:02:52,340 그리고 통역 또는 컴퓨터들을 하나씩 따른다. 51 00:02:52,340 --> 00:02:56,630 그것은 약하게있다, 입력 있어요 R.에는 타입 선언하지 52 00:02:56,630 --> 00:02:59,130 >> 그리고 라인 다른 유형 사이 53 00:02:59,130 --> 00:03:03,920 좀 더 느슨한보다 이들은 예를 들면, C에있다. 54 00:03:03,920 --> 00:03:06,450 그리고 나는 거기에 말했듯이 매우 다양한 시설 55 00:03:06,450 --> 00:03:15,610 그래프에 대한 통계에 대한 데이터 마이닝에 대한 분석. 56 00:03:15,610 --> 00:03:19,540 이들은 모두 내장되어 있습니다 언어, 비디오가 말했듯이, 57 00:03:19,540 --> 00:03:23,680 타사 라이브러리의 수천 그 당신은 다운로드하여 무료로 사용할 수 있습니다 58 00:03:23,680 --> 00:03:25,340 매우 느슨한 라이센스 조건. 59 00:03:25,340 --> 00:03:28,800 60 00:03:28,800 --> 00:03:31,500 >> 일반적으로 그래서, 내가 권하고 싶습니다 당신은이 두 권의 책을보고 있음 61 00:03:31,500 --> 00:03:34,610 당신은 알 하나에서 작동하는 거라면 이들의 공식 R 초보자입니다 62 00:03:34,610 --> 00:03:35,110 안내서. 63 00:03:35,110 --> 00:03:38,660 그것은에 의해 유지되는 것 R.의 핵심 개발자 64 00:03:38,660 --> 00:03:42,400 당신은 다시의 무료 다운로드 할 수 있습니다 이 링크에서 법적으로 충전. 65 00:03:42,400 --> 00:03:45,430 66 00:03:45,430 --> 00:03:49,869 이러한 모든 슬라이드 갈거야 인터넷 최대, CS50 웹 사이트 67 00:03:49,869 --> 00:03:50,660 이 후에 완료됩니다. 68 00:03:50,660 --> 00:03:53,690 그래서 필요가 복사 없습니다 미친 듯이 일 다운. 69 00:03:53,690 --> 00:03:56,800 >> 다른 하나는 COSMA Shalizi에 의해 교과서, 70 00:03:56,800 --> 00:04:00,100 통계 교수의는 누구 카네기 멜론, 고급 데이터라고 71 00:04:00,100 --> 00:04:02,160 에서 분석 보기의 초등학교 포인트. 72 00:04:02,160 --> 00:04:04,010 이것은 주로 R 책이 아니다. 73 00:04:04,010 --> 00:04:07,130 그것은 통계 책과 그것은 데이터 분석 책. 74 00:04:07,130 --> 00:04:11,990 그러나 그것은 사람들에게 매우 접근 누가 통계 지식의 소량이 있습니다. 75 00:04:11,990 --> 00:04:13,750 >> 나는 공식적인 과정을 찍은 적이 없다. 76 00:04:13,750 --> 00:04:17,269 난 그냥 비트와 조각을 알고 다양한 연합군 과목에서 77 00:04:17,269 --> 00:04:18,579 것을 나는의 과정을 촬영했습니다. 78 00:04:18,579 --> 00:04:21,839 그리고 난 이해 할 수 있었다 그것은 완벽하게. 79 00:04:21,839 --> 00:04:25,630 >> 모든 수치는 제공됩니다 R.에서 그들은 연구에서 만들어진다 80 00:04:25,630 --> 00:04:30,280 그들은 또한 코드 목록이 각 그림 아래에 당신에게 그 81 00:04:30,280 --> 00:04:33,270 당신은 어떻게 R 코드와 각각의 그림을. 82 00:04:33,270 --> 00:04:37,400 그리고 그 경우에 매우 유용합니다 당신은 모방하려는 83 00:04:37,400 --> 00:04:38,650 당신은 책에서 볼 몇 가지 그림. 84 00:04:38,650 --> 00:04:47,840 >> 그리고 다시 무료 다운로드 죄송 stat.cmu.edu/cshalizi/ 85 00:04:47,840 --> 00:04:50,230 그 물결 cshalizi을 삭감해야한다. 86 00:04:50,230 --> 00:04:53,150 나는 그 문제를 해결하려면 있는지 확인합니다 공식 슬라이드가 올라갈 때. 87 00:04:53,150 --> 00:04:57,000 단지입니다 / ADAfaEPoV 책 제목의 약어. 88 00:04:57,000 --> 00:04:59,850 89 00:04:59,850 --> 00:05:02,500 >> 그래서 일반 caveats-- R 기능을 많이 가지고 있습니다. 90 00:05:02,500 --> 00:05:05,331 난 단지 커버 할 수있을거야 많은 것들의 표면. 91 00:05:05,331 --> 00:05:08,580 세미나 또한, 제 1 부분 데이터 덤프의 뭔가가 될 것입니다. 92 00:05:08,580 --> 00:05:11,437 나는 그것에 대해 매우 죄송합니다. 93 00:05:11,437 --> 00:05:13,770 기본적으로, 내가 갈거야 많은 일을 소개 94 00:05:13,770 --> 00:05:15,350 바로 박쥐,가는 가능한 한 빨리. 95 00:05:15,350 --> 00:05:17,058 그리고 우리는에 도착 있는 재미있는 부분, 96 00:05:17,058 --> 00:05:20,570 내가 당신에게 모든 것을 보여줄 수있는 데모 우리는 화면에 대한 이야기​​했다고. 97 00:05:20,570 --> 00:05:23,321 그리고 당신은 당신의 자신의 주위에 재생할 수 있습니다. 98 00:05:23,321 --> 00:05:26,070 그래서 많이있을거야 기술 물건은 여기에 던져. 99 00:05:26,070 --> 00:05:28,060 모두를 복사에 대해 걱정하지 마십시오. 100 00:05:28,060 --> 00:05:31,740 때문에, 당신이 얻을 수있는 모든 나중에 CS50 웹 사이트에서 물건. 101 00:05:31,740 --> 00:05:37,780 그리고 B, 그것은 정말 중요하지 않아 슬라이드에서이를 기억합니다. 102 00:05:37,780 --> 00:05:40,462 그것은 당신이 얻을 것이 더 중요하다 그것은 몇 가지 직관적 인 시설 103 00:05:40,462 --> 00:05:44,220 그리고 그건 그냥 장난에서 비롯됩니다. 104 00:05:44,220 --> 00:05:45,720 >> 왜 R을 사용할 수 있습니까? 105 00:05:45,720 --> 00:05:49,440 기본적으로, 당신은 프로젝트가 있다면 그 대용량 데이터 세트를 마이닝 포함, 데이터 106 00:05:49,440 --> 00:05:52,664 시각화, 당신 당신이 인 경우에 알을 사용해야합니다 107 00:05:52,664 --> 00:05:55,830 복잡한 통계 분석을하고, 즉, Excel에서 어려운 것 108 00:05:55,830 --> 00:05:58,010 예를 들면,하고자 또한도 ... 당연 할 109 00:05:58,010 --> 00:06:00,506 당신은 통계를 수행하는 경우 자동화의 분석. 110 00:06:00,506 --> 00:06:02,130 의 당신이 웹 사이트를 유지하고 있다고 가정 해 봅시다. 111 00:06:02,130 --> 00:06:06,320 그리고 당신은 서버 로그를 읽을 수 매일, 일부 목록을 작성 112 00:06:06,320 --> 00:06:10,320 최고 국가 등 그 사용자는,에서 오는 113 00:06:10,320 --> 00:06:15,100 시간에 대한 몇 가지 요약 통계 그들은 당신의 웹 사이트 또는 무엇에 지출. 114 00:06:15,100 --> 00:06:16,910 그리고 당신은 매일이 작업을 실행하려면. 115 00:06:16,910 --> 00:06:20,280 >> 이제 Excel에서이 작업을 수행하는 경우, 당신이 당신의 서버 로그로 이동해야 할 것이다 116 00:06:20,280 --> 00:06:23,490 로 그를 가져 Excel 데이터 스프레드 시트, 117 00:06:23,490 --> 00:06:24,910 수동으로 모든 분석을 실행합니다. 118 00:06:24,910 --> 00:06:27,100 R, 당신은 단지 하나의 스크립트를 작성할 수 있습니다. 119 00:06:27,100 --> 00:06:29,520 매일 실행하도록 예약 운영 체제에서. 120 00:06:29,520 --> 00:06:33,657 그리고 오전 2시에 매일 밤, 또는 당신이 실행되도록 예약 할 때마다, 121 00:06:33,657 --> 00:06:35,990 그것은을 통해 볼 것이다 그 날 인터넷 트래픽. 122 00:06:35,990 --> 00:06:39,010 그리고 다음 날, 당신은거야 이 반짝, 새 보고서를 123 00:06:39,010 --> 00:06:41,710 모든 또는 어떤 정보는 요청했다. 124 00:06:41,710 --> 00:06:44,960 125 00:06:44,960 --> 00:06:50,217 >> 그래서 기본적으로 R은 시스코입니다 시스코 분석 대 프로그램. 126 00:06:50,217 --> 00:06:51,050 예비 이루어집니다. 127 00:06:51,050 --> 00:06:53,104 의 실제 물건에하자. 128 00:06:53,104 --> 00:06:55,020 그래서 세 실제가 언어의 종류. 129 00:06:55,020 --> 00:06:56,120 숫자 유형이있다. 130 00:06:56,120 --> 00:07:01,250 차이의 종류가있다 정수 및 부동 소수점, 131 00:07:01,250 --> 00:07:02,769 하지만 정말. 132 00:07:02,769 --> 00:07:04,560 문자가있다 문자열 인 입력합니다. 133 00:07:04,560 --> 00:07:07,100 그리고 논리를 거기에 부울을 인 입력합니다. 134 00:07:07,100 --> 00:07:11,080 >> 그리고 당신은 종류의 사이에 변환 할 수 있습니다 수치로 이러한 함수를 사용하여, 135 00:07:11,080 --> 00:07:15,220 논리적으로 문자로. 136 00:07:15,220 --> 00:07:17,510 당신이 호출 할 경우, 예를 들어, 문자열에 숫자로, 137 00:07:17,510 --> 00:07:20,030 그것은 그 문자열을 읽으려고합니다 번호, 동일한 방법으로 138 00:07:20,030 --> 00:07:25,897 그 a2i 및 scanf는 수행 및 C의 경우 당신은 참 또는 거짓에 숫자로 전화 139 00:07:25,897 --> 00:07:26,980 그것은 1 또는 0으로 변환합니다. 140 00:07:26,980 --> 00:07:29,110 당신은 문자로 호출하는 경우 아무것도는거야 141 00:07:29,110 --> 00:07:32,550 로 그 변환 문자열 표현입니다. 142 00:07:32,550 --> 00:07:34,990 >> 그리고 벡터와 행렬이있다. 143 00:07:34,990 --> 00:07:37,580 그래서 벡터는 기본적으로 있습니다 1 차원 배열. 144 00:07:37,580 --> 00:07:40,600 그들은 우리가 배열을 부르는 것입니다 C. 행렬, 2 차원 배열. 145 00:07:40,600 --> 00:07:42,350 그리고 더 높은 차원 배열 할 수 146 00:07:42,350 --> 00:07:48,560 3, 4, 5 차원이든이 숫자 값, 문자열, 147 00:07:48,560 --> 00:07:52,860 의 논리 값. 148 00:07:52,860 --> 00:07:55,380 >> 당신은 또한 수 있습니다 목록을 연관 배열의 일종. 149 00:07:55,380 --> 00:07:57,390 그 비트에 얻을 것이다. 150 00:07:57,390 --> 00:07:59,390 그래서 하나 중요한 것은 그 연구에서 사람들을 여행 151 00:07:59,390 --> 00:08:01,470 전혀 있다는 것을 없다 실제, 순수한 원자 유형. 152 00:08:01,470 --> 00:08:05,870 실제 구별 사이가 없습니다 숫자, 숫자 값처럼, 153 00:08:05,870 --> 00:08:07,920 숫자 값과리스트. 154 00:08:07,920 --> 00:08:12,370 숫자 값은 실제로 아르 길이가 1 인 벡터와 동일합니다. 155 00:08:12,370 --> 00:08:14,959 그리고 이것은을 가지고 중요한 의미. 156 00:08:14,959 --> 00:08:17,500 하나는, 당신이 할 수 있다는 것을 의미한다 참여 아주 쉽게 일 157 00:08:17,500 --> 00:08:21,037 벡터에 번호를 추가하는 등을들 수있다. 158 00:08:21,037 --> 00:08:23,120 R 것 기본적으로 그림 밖으로 당신은 무엇을 의미. 159 00:08:23,120 --> 00:08:24,610 그리고 두 번째에 해당 얻을 수 있습니다. 160 00:08:24,610 --> 00:08:27,930 또한 방법이 없다는 것을 의미한다 유형에 대한 범위 checker-- 161 00:08:27,930 --> 00:08:30,530 그런 뭔가 말 r-- 사용에 존재 162 00:08:30,530 --> 00:08:33,780 당신은 하나의 값에 통과 한 경우 이 배열 또는 그 반대를 예상 할 때. 163 00:08:33,780 --> 00:08:39,159 그리고 어떤 이상한 발생할 수 있습니다 나는이 때를 만났다 문제 164 00:08:39,159 --> 00:08:42,252 나는 나의 여름 작업 중 R을 사용하고 있었다. 165 00:08:42,252 --> 00:08:43,710 더 혼합형 어레이는 없다. 166 00:08:43,710 --> 00:08:46,543 그래서 당신은 배열했다 가질 수 없습니다 첫 번째 요소는 나도 몰라한다, 167 00:08:46,543 --> 00:08:49,332 문자열 "존"과 두 번째 요소는 수 (42)이다. 168 00:08:49,332 --> 00:08:52,540 당신이 그렇게하려고하면, 당신은 얻을 것이다 모든 것은 단지 문자열로 변환. 169 00:08:52,540 --> 00:08:54,760 그래서 우리는 캐릭터 존, 캐릭터 (42)가있다. 170 00:08:54,760 --> 00:08:58,250 171 00:08:58,250 --> 00:09:02,025 >> 가장 features-- 그래서 특이한 구문 R의 구문은 C와 매우 유사하다 172 00:09:02,025 --> 00:09:04,690 몇 가지 중요한 차이가 있습니다. 173 00:09:04,690 --> 00:09:05,620 타이핑이 매우 약합니다. 174 00:09:05,620 --> 00:09:07,360 그래서 어떤 변수 선언이 없습니다. 175 00:09:07,360 --> 00:09:12,670 할당은 이상을 사용 오류 운영자 하이픈보다. 176 00:09:12,670 --> 00:09:15,340 댓글은 해시 마크입니다. 177 00:09:15,340 --> 00:09:19,230 나는 우리가 해시 태그를 호출 일 지금 생각 그건 정말 아니다 아니지만 accurate-- 178 00:09:19,230 --> 00:09:21,810 이중 슬래시. 179 00:09:21,810 --> 00:09:24,710 >> 모듈 형 잔류 %% 징후이다. 180 00:09:24,710 --> 00:09:30,172 정수 나누기는 % / % 함께 이 투영 된 때 읽을 열심히 181 00:09:30,172 --> 00:09:30,880 화면에. 182 00:09:30,880 --> 00:09:34,150 183 00:09:34,150 --> 00:09:37,200 당신의 범위를 얻을 수 있습니다 콜론 정수. 184 00:09:37,200 --> 00:09:41,840 그래서 2,5 당신에게 벡터를 제공한다 모든 숫자 2 ~ 5의. 185 00:09:41,840 --> 00:09:44,530 >> 배열은 하나의 색인, 이는 나사 많은 사람들이 186 00:09:44,530 --> 00:09:47,540 그들은 더에서 인 경우에 최대 일반적인 프로그래밍 언어, 187 00:09:47,540 --> 00:09:50,450 여기서 C, 같은 가장 상황이 제로 인덱스입니다. 188 00:09:50,450 --> 00:09:54,420 다시, 이것은 어디 R의 유산이다 같은하지의 언어로 189 00:09:54,420 --> 00:09:56,560 전문 프로그래머가 제공됩니다. 190 00:09:56,560 --> 00:09:59,680 당신은 사회 학자라면 또는 경제 또는 뭔가 191 00:09:59,680 --> 00:10:01,980 당신이 사용하려는 R 기본적으로 보조 등 192 00:10:01,980 --> 00:10:03,832 당신의 더 중요한에 전문 작업, 193 00:10:03,832 --> 00:10:06,040 당신은 찾을거야 조금 더 자연스러운 하나의 색인. 194 00:10:06,040 --> 00:10:09,890 당신은 계산을 시작하기 때문에 일상 생활에서 1이 아닌 0. 195 00:10:09,890 --> 00:10:13,260 >> FOR-루프,이 유사하다 foreach 문은, PHP로 구성 196 00:10:13,260 --> 00:10:17,090 당신이 얻을 것이다하는 곧 in-- 배운다. 197 00:10:17,090 --> 00:10:22,540 어떤 벡터의 값이며, 당신은 값으로 일을 할 수있다. 198 00:10:22,540 --> 00:10:24,040 청중 : 그 강의에왔다. 199 00:10:24,040 --> 00:10:26,248 코너 해리스 : 아, 그건 우수한 강의를 제공. 200 00:10:26,248 --> 00:10:29,815 청중 : 할당, 그것이 오른쪽에서 왼쪽으로 가리 키도록되어? 201 00:10:29,815 --> 00:10:31,440 코너 해리스 : 왼쪽 오른쪽에, 예. 202 00:10:31,440 --> 00:10:34,720 당신은의 값으로 생각할 수 변수에 밀려 오른쪽 203 00:10:34,720 --> 00:10:36,240 왼쪽에. 204 00:10:36,240 --> 00:10:36,781 청중 : OK. 205 00:10:36,781 --> 00:10:39,770 206 00:10:39,770 --> 00:10:42,330 >> 코너 해리스 : 그리고 마지막으로 함수 구문은 약간 이상하다. 207 00:10:42,330 --> 00:10:48,460 당신은 함수 이름 foo는 할당이 이 키워드 기능에 따라 208 00:10:48,460 --> 00:10:51,530 다음 모든 인수에 의해 그 후 함수의 몸. 209 00:10:51,530 --> 00:10:53,280 또 다시 이런 일 월 조금 이상한 것 같다. 210 00:10:53,280 --> 00:10:57,181 그들은 후 제 2의 천성이 될 것이다 당신은 약간의 언어와 함께 작동합니다. 211 00:10:57,181 --> 00:10:58,930 벡터 그래서, 방법 당신은 벡터를 구성 212 00:10:58,930 --> 00:11:04,550 키워드 당신 C 형은, 다음입니다 모든 당신이 원하는 숫자 나 문자열 213 00:11:04,550 --> 00:11:06,490 또는 무엇이든. 214 00:11:06,490 --> 00:11:07,995 인수는 벡터합니다. 215 00:11:07,995 --> 00:11:09,620 그러나 결과 배열은 평평하게됩니다. 216 00:11:09,620 --> 00:11:14,385 그래서 당신은 배열 곳이 없습니다 일부 요소는 하나의 숫자 217 00:11:14,385 --> 00:11:17,010 일부 요소는 배열 자체입니다. 218 00:11:17,010 --> 00:11:20,010 >> 당신을 구성하려고한다면 배열의 첫 번째 요소가 4이었다 219 00:11:20,010 --> 00:11:22,370 그리고 두 번째 요소 배열 3,5는 것입니다 220 00:11:22,370 --> 00:11:25,890 다만, 4,3,5을 세 가지 요소의 배열을 얻을. 221 00:11:25,890 --> 00:11:27,760 그들은 혼합 유형이 될 수 없습니다. 222 00:11:27,760 --> 00:11:32,290 읽거나 쓰기를 시도하면 벡터의 경계의 외부 223 00:11:32,290 --> 00:11:36,640 당신은 해당 없음이라는 값을 얻을 것이다 이는 누락 된 값을 의미합니다. 224 00:11:36,640 --> 00:11:39,900 그리고 이것은위한 것입니다 통계 같은 사람 225 00:11:39,900 --> 00:11:43,080 불완전한 데이터 세트와 함께 노력하고 있습니다. 226 00:11:43,080 --> 00:11:46,460 >> 당신이 해야하는 기능을 적용하는 경우 배열에 하나의 번호를 취할 227 00:11:46,460 --> 00:11:49,220 다음, 당신이 얻을 것이다 것은이며, 기능은 배열을 매핑합니다. 228 00:11:49,220 --> 00:11:52,130 당신의 기능의 소요 가정 해 봅시다 그래서 만약 숫자 반환을 광장. 229 00:11:52,130 --> 00:11:58,170 당신은 배열 2,3,5-에 그 적용 당신이 얻을 것이다 것은 배열 4,9,25이다. 230 00:11:58,170 --> 00:12:00,010 >> 그리고 그것은 매우 유용 당신을 의미하기 때문에 231 00:12:00,010 --> 00:12:03,374 에 대한 루프를 작성할 필요가 없습니다 적용과 같은 아주 간단한 일을 232 00:12:03,374 --> 00:12:05,040 데이터 세트의 모든 구성원 함수. 233 00:12:05,040 --> 00:12:08,557 어떤 대형 작업하는 경우 데이터 세트, 당신은 많은 작업을 수행해야합니다. 234 00:12:08,557 --> 00:12:10,390 이진 기능은 항목 적용 항목. 235 00:12:10,390 --> 00:12:12,430 나는에 얻을 것이다. 236 00:12:12,430 --> 00:12:16,750 당신은 배열에 액세스 할 수 있습니다 대괄호 또는 벡터. 237 00:12:16,750 --> 00:12:22,300 그래서 벡터 이름을 대괄호 (1) 당신이 첫 번째 요소를 제공 할 것입니다. 238 00:12:22,300 --> 00:12:25,510 벡터 이름을 대괄호 (2) 당신에게 두 번째 요소를 제공합니다. 239 00:12:25,510 --> 00:12:27,530 >> 당신은 벡터에 전달할 수 있습니다 그리고 지수는거야 240 00:12:27,530 --> 00:12:29,640 다시 기본적으로 하위 요소 나가. 241 00:12:29,640 --> 00:12:34,990 그래서 당신은 벡터 이름 브라켓 C를 할 수있는, 2,4- 당신은 포함하는 벡터를 얻을 것이다 242 00:12:34,990 --> 00:12:38,804 제 2 및 제 4 배열의 요소. 243 00:12:38,804 --> 00:12:40,720 그리고 당신이 원하는 경우 단지 빠른 요약 통계 244 00:12:40,720 --> 00:12:47,529 사 분위와 같은 벡터의 범위, 평균, 최대, 무엇이든, 245 00:12:47,529 --> 00:12:49,820 당신은 요약을 입력 할 수 있습니다 벡터 이름과 그를 얻을. 246 00:12:49,820 --> 00:12:52,680 그건 정말 유용 아니다 프로그래밍하지만 당신은 재생하는 경우 247 00:12:52,680 --> 00:12:55,990 데이터 세트의 주위, 또한 편리하다. 248 00:12:55,990 --> 00:12:58,650 >> 기본적으로 Matrices-- 더 높은 차원 배열. 249 00:12:58,650 --> 00:13:01,190 그들은이 특별한 표기법 구문을 가지고있다. 250 00:13:01,190 --> 00:13:07,620 취득하는 배열과 행렬 데이터 죄송합니다, 매트릭스 in-- 가득 251 00:13:07,620 --> 00:13:09,780 행 번호, 열 번호입니다. 252 00:13:09,780 --> 00:13:13,180 일부 데이터를 가질 때, 그것은에 채우고 배열은 기본적으로 위에서 아래로가는 253 00:13:13,180 --> 00:13:13,380 먼저. 254 00:13:13,380 --> 00:13:14,190 그런 다음 왼쪽에서 오른쪽으로. 255 00:13:14,190 --> 00:13:15,030 그래서, 그런. 256 00:13:15,030 --> 00:13:17,809 257 00:13:17,809 --> 00:13:19,600 그리고 R이 내장되어 행렬 곱셈, 258 00:13:19,600 --> 00:13:24,310 스펙트럼 분해, 대각, 많은 것들을. 259 00:13:24,310 --> 00:13:27,785 당신은 더 높은 차원하려는 경우 어레이 때문에 3, 4, 5, 260 00:13:27,785 --> 00:13:29,410 또는 당신은 그 어떤 크기 할 수 있습니다. 261 00:13:29,410 --> 00:13:34,400 구문은 배열 어두운는 C와 동일하다, 다음 차원의 목록입니다. 262 00:13:34,400 --> 00:13:38,620 당신은 4 차원 배열 싶다면 치수 4, 7, 8, 9, 배열 263 00:13:38,620 --> 00:13:45,470 희미한는 C (-4,7,8,9를) 같습니다. 264 00:13:45,470 --> 00:13:51,180 >> 당신은 괄호와 함께 하나의 값에 액세스 첫 번째 항목의 쉼표 두 번째 항목. 265 00:13:51,180 --> 00:13:54,870 당신은 전체 조각을 얻을 수 있습니다 행 또는 열. 266 00:13:54,870 --> 00:13:59,900 이 불완전한 구문 그건 단지 숫자 쉼표 또는 쉼표로 열을 행 267 00:13:59,900 --> 00:14:00,400 번호. 268 00:14:00,400 --> 00:14:02,874 269 00:14:02,874 --> 00:14:04,540 그래서 목록은 관련 배열의 일종이다. 270 00:14:04,540 --> 00:14:06,360 그들은 여기에 자신의 구문을 가지고있다. 271 00:14:06,360 --> 00:14:08,320 다시 미친 듯이하지 않습니다 이 모든 아래로 복사합니다. 272 00:14:08,320 --> 00:14:11,370 이것은 단지 그래서 사람들 나중에 슬라이드를 통과 273 00:14:11,370 --> 00:14:13,089 모든 좋은 기준이있다. 274 00:14:13,089 --> 00:14:16,130 그리고 이것은 매우 자연스러운 번이 될 것이다 실제로 데모를 통해 도보. 275 00:14:16,130 --> 00:14:19,295 276 00:14:19,295 --> 00:14:20,920 그래서 기본적으로 연관 배열을 보여줍니다. 277 00:14:20,920 --> 00:14:27,040 당신은으로 값을 액세스 할 수 있습니다 목록 이름, 달러 기호, 키. 278 00:14:27,040 --> 00:14:31,370 목록이 foo에 이름이 있다면, 당신은 그런 식으로 액세스 할 수 있습니다. 279 00:14:31,370 --> 00:14:37,032 당신은 전체 키 - 값 쌍을 얻을 수 있습니다 대괄호 인덱스에 전달하여. 280 00:14:37,032 --> 00:14:39,240 당신은 존재하지 않는 읽을 경우 키, 당신은 널 얻을 것이다. 281 00:14:39,240 --> 00:14:41,150 그것은 오류가되지 않습니다. 282 00:14:41,150 --> 00:14:43,590 일이 연구는 다음과 같이 할 것입니다 그것을 할 수있는 널 훨씬. 283 00:14:43,590 --> 00:14:46,580 그리고 이것은 당신이 있다면 것을 의미 할 수있다 널 꺼내 기대하지 284 00:14:46,580 --> 00:14:51,840 일부 목록 읽기, 당신은 몇 가지를 얻을 수 있습니다 더 아래로 예측할 수없는 오류 285 00:14:51,840 --> 00:14:52,620 라인. 286 00:14:52,620 --> 00:14:54,890 >> 이것은 나에게 무슨 일이 있었 내 여름 일 때의 R을 사용했다 287 00:14:54,890 --> 00:14:58,410 어떻게 일정을 변경할 경우 목록이 한 자리에 정의 288 00:14:58,410 --> 00:15:05,410 하지만 나중에 변경하지 않은 그것에서 값을 읽을 코드. 289 00:15:05,410 --> 00:15:10,190 그래서 무슨 일이 것은 내가이었다 이 목록 중 null 값을 읽고, 290 00:15:10,190 --> 00:15:13,090 함수로 전달, 매우 혼란되고 291 00:15:13,090 --> 00:15:16,000 나는 모든 종류의를 받았을 때 임의 무한대는 자르기 292 00:15:16,000 --> 00:15:16,790 이 기능에. 293 00:15:16,790 --> 00:15:20,730 특정 최대 적용하는 경우 때문에 또는 최소한의 기능은 null로, 294 00:15:20,730 --> 00:15:22,570 당신은 무한 값을 얻을 것이다. 295 00:15:22,570 --> 00:15:26,400 296 00:15:26,400 --> 00:15:29,180 >> 데이터 프레임은, 그들이리스트의 서브입니다. 297 00:15:29,180 --> 00:15:31,170 모든 값은 벡터이고 동일한 길이. 298 00:15:31,170 --> 00:15:34,220 그리고 그들이 제시에 사용하고, 기본적으로, 데이터 테이블. 299 00:15:34,220 --> 00:15:36,175 이 초기화 구문이있다. 300 00:15:36,175 --> 00:15:38,800 이 모든, 다시, 많이있을 것입니다 분명 당신은 데모에 도착하면. 301 00:15:38,800 --> 00:15:42,240 302 00:15:42,240 --> 00:15:44,240 그리고 좋은 점에 대한 데이터 프레임은 당신이다 303 00:15:44,240 --> 00:15:49,380 모든 컬럼에 이름을 부여 할 수 있습니다 모든 행에 이름. 304 00:15:49,380 --> 00:15:53,890 그리고 그 액세스 할 수 있습니다 그들 약간 우호적. 305 00:15:53,890 --> 00:15:59,130 또한이 방법은 대부분의 기능입니다 Excel 스프레드 시트에서 데이터를 읽어 306 00:15:59,130 --> 00:16:03,820 또는 텍스트 파일, 예를 들면, 자신의 데이터를 읽습니다. 307 00:16:03,820 --> 00:16:07,555 그들은에 넣어 것이다 데이터 프레임의 일종. 308 00:16:07,555 --> 00:16:09,680 기능 functions-- 그래서 구문은 조금 이상한 것입니다. 309 00:16:09,680 --> 00:16:16,160 다시이 함수의 이름이있어, 다음,이 키워드 기능을 할당하고 310 00:16:16,160 --> 00:16:17,900 인수의 목록입니다. 311 00:16:17,900 --> 00:16:24,080 몇 가지 좋은 일이있다 그래서 방법에 대해 기능이 여기에 작동합니다. 312 00:16:24,080 --> 00:16:28,170 하나를 들어, 당신은 실제로 할당 할 수 있습니다 특정 인수에 기본값. 313 00:16:28,170 --> 00:16:32,910 그래서 당신은 R1을 말할 수있다 equals-- 당신은 foo는 말할 수 314 00:16:32,910 --> 00:16:38,290 R1은 무엇인가에 해당하는 기능입니다 사용자가 지정하는 경우 기본적으로 315 00:16:38,290 --> 00:16:39,090 인수 없습니다. 316 00:16:39,090 --> 00:16:41,932 그렇지 않으면, 그가에 넣어 무엇이다. 317 00:16:41,932 --> 00:16:44,140 그리고 이것은 매우 편리 때문에 우리의 많은 기능 318 00:16:44,140 --> 00:16:47,910 이 종종 수십 또는 인수의 수백. 319 00:16:47,910 --> 00:16:51,210 플로팅 예를 들어 사람 그래프 또는 플로팅 산포도 320 00:16:51,210 --> 00:16:54,430 제어 인수를 제목과 축에 이르기까지 모든 321 00:16:54,430 --> 00:16:59,512 회귀선의 컬러 라벨. 322 00:16:59,512 --> 00:17:01,470 만약 그렇다면 당신은 원하지 않는다 사람들이 지정 만들려면 323 00:17:01,470 --> 00:17:04,050 이 모든 하나 하나 인수의 수백 324 00:17:04,050 --> 00:17:07,674 의 모든 단일 측면을 제어 플롯 또는 회귀이든, 325 00:17:07,674 --> 00:17:09,299 그것은 이러한 기본 값을하는 것이 좋다. 326 00:17:09,299 --> 00:17:12,700 327 00:17:12,700 --> 00:17:19,146 >> 그리고 당신은 실제로 수 여기에 다시 본으로 작성합니다. 328 00:17:19,146 --> 00:17:22,869 아니면 더 좋은 예를 찾을 수 있습니다. 329 00:17:22,869 --> 00:17:28,690 당신이 함수를 호출 할 때 당신은 실제로 수 인수 이름을 사용하여 호출합니다. 330 00:17:28,690 --> 00:17:33,919 그래서 여기의 예 매트릭스 생성자입니다. 331 00:17:33,919 --> 00:17:34,960 이 세 개의 인수를합니다. 332 00:17:34,960 --> 00:17:36,760 보통 데이터를 가지고, 어떤 벡터이다. 333 00:17:36,760 --> 00:17:38,920 사용자는 N 행을 갖는 행의 수이다. 334 00:17:38,920 --> 00:17:41,160 당신은 N은 열 번호를 cols-- 있습니다. 335 00:17:41,160 --> 00:17:43,920 사용자가 입력하는 경우 것입니다 N 행은 동일 무엇이든 336 00:17:43,920 --> 00:17:46,520 N 개의 COL은 어떤 경우에 해당 당신은이 함수를 호출하고 337 00:17:46,520 --> 00:17:47,770 당신은 실제로 그들을 취소 할 수 있습니다. 338 00:17:47,770 --> 00:17:51,590 그래서 당신은 제 N 행 N 개의 COL을 넣을 수 있습니다 두 번째와는 아무런 차이가 없습니다. 339 00:17:51,590 --> 00:17:54,660 그래서 좋은 작은 기능이다. 340 00:17:54,660 --> 00:17:56,260 >> 가져 오기 및 내보내기를했다. 341 00:17:56,260 --> 00:18:00,010 이것은 기본적으로 이루어질 수있다. 342 00:18:00,010 --> 00:18:03,816 밖으로 쓸 수있는 시설도 있습니다 R은 임의의 이진 파일 개체 343 00:18:03,816 --> 00:18:05,190 다음 다시 나중에 그것들을 읽어 보시기 바랍니다. 344 00:18:05,190 --> 00:18:08,030 당신이하고있는 경우 편리 어떤 큰 대화 형 세션 (R) 345 00:18:08,030 --> 00:18:12,850 당신은 저장해야 일이 매우 빠르게. 346 00:18:12,850 --> 00:18:16,460 기본적으로 R은 작업 디렉토리를 가지고 파일에 기입 얻을 347 00:18:16,460 --> 00:18:19,410 과에서 다시 읽어. 348 00:18:19,410 --> 00:18:22,350 당신과 함께 그것을 볼 수 있습니다 getwg, setdw로 변경합니다. 349 00:18:22,350 --> 00:18:25,630 여기에서 특히 흥미로운 아무것도 350 00:18:25,630 --> 00:18:28,270 >> 이제 실제 통계 multilinear 회귀도 가능해. 351 00:18:28,270 --> 00:18:30,960 352 00:18:30,960 --> 00:18:34,910 일반적인 구문 그래서 복잡한 비트입니다. 353 00:18:34,910 --> 00:18:37,260 모델은 기본적으로 큰 목적이다. 354 00:18:37,260 --> 00:18:39,910 또, LM 할당 도착 어떤 함수 호출이다. 355 00:18:39,910 --> 00:18:43,840 첫 번째 요소, Y 물결 X1 플러스 무엇이든. 356 00:18:43,840 --> 00:18:46,574 357 00:18:46,574 --> 00:18:47,990 내 구문은 여기에 조금 혼란 스럽다. 358 00:18:47,990 --> 00:18:49,490 나는이 아주 미안 해요 표준 방법은 359 00:18:49,490 --> 00:18:50,990 그 컴퓨터 과학 책이 작업을 수행. 360 00:18:50,990 --> 00:18:54,890 그러나 그것은 조금 이상한 것입니다. 361 00:18:54,890 --> 00:18:58,200 >> 그러니까 기본적으로, 그것은 작품이다 괄호, 첫 번째 항목 362 00:18:58,200 --> 00:19:06,730 죄송합니다 variable--하고, 의존 변수 물결의 X1 플러스 X2 플러스 363 00:19:06,730 --> 00:19:10,910 독립 그러나 많은 변수는있다. 364 00:19:10,910 --> 00:19:14,240 그리고 이들은이 될 수 있습니다 벡터, 모두 같은 길이. 365 00:19:14,240 --> 00:19:16,220 아니면 열 수 있습니다 데이터 프레임 헤더 366 00:19:16,220 --> 00:19:18,553 당신은 단지에 지정하는 것이 두 번째 인수는 데이터 프레임. 367 00:19:18,553 --> 00:19:23,270 368 00:19:23,270 --> 00:19:26,380 >> 또한 지정할 수 있습니다 더 복잡한 수식 369 00:19:26,380 --> 00:19:31,990 그래서 당신은 선형 필요가 없습니다 하나의 종속 변수를 회귀, 370 00:19:31,990 --> 00:19:34,440 또는 기존의 벡터에 하나의 벡터. 371 00:19:34,440 --> 00:19:38,070 당신은 예를 들어, 할 수있다, 벡터 성분 y를 제곱 플러스 1 372 00:19:38,070 --> 00:19:42,100 과에 대한 그 퇴행 다른 벡터의 로그인합니다. 373 00:19:42,100 --> 00:19:45,200 당신의 요약을 인쇄 할 수 있습니다 라는 명령으로 모델 374 00:19:45,200 --> 00:19:48,607 summary-- 단지 요약 모델을 괄호. 375 00:19:48,607 --> 00:19:50,190 다시 나는 명확히해야 뭔가. 376 00:19:50,190 --> 00:19:55,407 377 00:19:55,407 --> 00:19:58,615 수정 얻을 것이다 뭔가 다른 슬라이드는 인터넷에 올라갈 때. 378 00:19:58,615 --> 00:20:01,127 379 00:20:01,127 --> 00:20:03,210 당신은 단지 계산하려면 간단한 상관 관계 380 00:20:03,210 --> 00:20:09,170 는 상관 벡터를 사용하여 1 벡터 2 기능의 핵심. 381 00:20:09,170 --> 00:20:11,856 방법은 기본적으로 인 피어슨 상관 관계. 382 00:20:11,856 --> 00:20:13,480 사람들은 당신이 할 수있는 표준 것들입니다. 383 00:20:13,480 --> 00:20:15,990 이 또한 스피어와 Kendell 상관 관계 384 00:20:15,990 --> 00:20:19,530 그 중 몇 가지 다양한 있습니다 순위 순서 상관 관계. 385 00:20:19,530 --> 00:20:23,600 그럼 그들은 제품을 계산하지 않습니다 벡터 자체 사이의 순간, 386 00:20:23,600 --> 00:20:28,511 하지만 벡터의 순위 주문. 387 00:20:28,511 --> 00:20:29,510 나는 나중에 설명 할 것이다. 388 00:20:29,510 --> 00:20:30,120 >> 청중 : 빠른 질문 389 00:20:30,120 --> 00:20:30,360 >> 코너 해리스 : 물론. 390 00:20:30,360 --> 00:20:33,151 >> 청중 : 그래서 당신은 계산하고 단순한 상관 관계가 할에 대한 391 00:20:33,151 --> 00:20:37,655 당신은 통계가 있다고 가정 상관 관계에 대한 의미? 392 00:20:37,655 --> 00:20:39,030 코너 해리스 : 당신은 필요가 없습니다. 393 00:20:39,030 --> 00:20:41,840 394 00:20:41,840 --> 00:20:43,960 LM은 기본적으로 그냥 기계입니다. 395 00:20:43,960 --> 00:20:47,690 이 두 가지에 걸릴 것입니다 그리고 뱉어 396 00:20:47,690 --> 00:20:49,770 가장 적합한 라인에 대한 계수. 397 00:20:49,770 --> 00:20:52,310 또한 표준 보고서 그 계수에 오류가 발생합니다. 398 00:20:52,310 --> 00:20:55,865 처럼 그리고, 당신을 말할 것이다 통계적으로 유의 한 절편 399 00:20:55,865 --> 00:20:56,740 0에서 차이. 400 00:20:56,740 --> 00:20:59,400 최적의 기울기가 맞는 라인 통계 401 00:20:59,400 --> 00:21:01,510 0에서 다른, 등등. 402 00:21:01,510 --> 00:21:06,260 그것은 아무것도지지 않습니다 그래서, 나는 생각한다 귀하의 질문에 대한 가장 좋은 대답이다. 403 00:21:06,260 --> 00:21:07,410 그래. 404 00:21:07,410 --> 00:21:14,650 >> Plotting-- 그래서 주된 이유 당신이해야 multilinear 회귀처럼, R을 사용합니다. 405 00:21:14,650 --> 00:21:17,320 기본적으로 모든 언어 그 몇 가지 기능을 가지고있다. 406 00:21:17,320 --> 00:21:21,365 그리고에 대한 정직 R의 구문 회귀 비트 비밀이다. 407 00:21:21,365 --> 00:21:22,990 정말 빛나는 곳 그러나 플롯이다. 408 00:21:22,990 --> 00:21:28,090 >> 주력 기능은 플롯이다 그것은 두 벡터, x 및 y 걸린다. 409 00:21:28,090 --> 00:21:33,010 그리고 타원은 매우 의미 선택적 인수의 많은 수의 그 410 00:21:33,010 --> 00:21:39,190 제목의 색상에 모든 것을 제어 다양한 라인 또는 여러 점, 411 00:21:39,190 --> 00:21:40,200 플롯의 유형. 412 00:21:40,200 --> 00:21:42,250 당신은 분산을 가질 수있다 플롯 또는 라인 플롯. 413 00:21:42,250 --> 00:21:47,900 414 00:21:47,900 --> 00:21:49,710 >> [들림] 2 벡터 동일한 길이. 415 00:21:49,710 --> 00:21:53,780 이 첨부와 앞에 있습니다 스크립트에서 데이터 프레임. 416 00:21:53,780 --> 00:22:01,220 그리고 이것은 그냥 열을 사용하게됩니다 대신 별도의 벡터의 헤더. 417 00:22:01,220 --> 00:22:05,410 당신은 가장 적합한 라인과 지역을 추가 할 수 있습니다 그래프로 회귀 곡선. 418 00:22:05,410 --> 00:22:09,390 >> 이 명령은 나열 여기에, AB 라인과 라인, 419 00:22:09,390 --> 00:22:11,640 기본적으로이 얻을 팝업 창에 기록 420 00:22:11,640 --> 00:22:15,560 이 가정하기 때문에 대화 형 R을 사용하고 있습니다. 421 00:22:15,560 --> 00:22:17,310 당신이하지 않은 경우 당신은 할 수 두 개의 파일을 작성하는 422 00:22:17,310 --> 00:22:21,600 당신이 좋아하는 것 정말 어떤 형식으로되어 있습니다. 423 00:22:21,600 --> 00:22:25,410 미안 해요, 난 그냥 실현 오타가 있습니다. 424 00:22:25,410 --> 00:22:30,887 425 00:22:30,887 --> 00:22:32,720 당신은 열려면 다른 그래픽 장치 426 00:22:32,720 --> 00:22:39,200 당신은 PNG 또는 불리는이 기능을 사용할 수 있습니다 JPEG 또는 다른 이미지 형식의 많은. 427 00:22:39,200 --> 00:22:42,319 그리고 당신에 대한 그래프를 작성할 수 있습니다 어떤 파일 이름을 지정할. 428 00:22:42,319 --> 00:22:45,110 당신이 use--해야한다는 것을 취소하려면 나는 slide--이를 기록하지 않았다 429 00:22:45,110 --> 00:22:49,650 하지만 함수 호출 dev에있다 그 오프 점은 인수를 사용하지 않습니다. 430 00:22:49,650 --> 00:22:51,517 >> 그런 시설이있다 3D 플로팅에 대한 431 00:22:51,517 --> 00:22:53,350 과 윤곽에 대한 음모를 꾸미고 당신이 만들고 싶어 432 00:22:53,350 --> 00:22:55,700 두 개의 독립 변수의 그래프. 433 00:22:55,700 --> 00:22:57,150 지금은 이들로받지 않습니다. 434 00:22:57,150 --> 00:22:59,130 >> 또한 몇 가지가 있습니다 애니메이션을위한 시설 435 00:22:59,130 --> 00:23:01,300 사람들은 보통 타사에서 유지. 436 00:23:01,300 --> 00:23:06,330 나는, R 그래프와 애니메이션을 수행 한 그러나 나는 이러한 제 3 자를 사용하지 않은 437 00:23:06,330 --> 00:23:06,940 라이브러리. 438 00:23:06,940 --> 00:23:09,929 그래서 난 정말 입증 할 수 없습니다 에 얼마나 좋은 사람들이다. 439 00:23:09,929 --> 00:23:12,220 당신이 원한다면 추천 R을 사용하여 애니메이션을 만들려면 440 00:23:12,220 --> 00:23:16,480 당신은 모두를 쓸 수있다 애니메이션 프레임 441 00:23:16,480 --> 00:23:18,470 그리고 당신은을 사용할 수 있습니다 타사 program-- 442 00:23:18,470 --> 00:23:23,630 일반적인 사람은 FFmpeg를 호출 또는 ImageMagick-- 스티치하기 443 00:23:23,630 --> 00:23:26,540 하나의 애니메이션으로 당신의 모든 프레임. 444 00:23:26,540 --> 00:23:28,380 >> 데모 시간 그래서. 445 00:23:28,380 --> 00:23:31,030 446 00:23:31,030 --> 00:23:37,189 당신이 시스템과 같은 유닉스를 사용하고 있다면 이는 리눅스 BSD하지만 누가 BSD를 사용합니다. 447 00:23:37,189 --> 00:23:39,730 OS X의 터미널 창을 열고 명령 프롬프트에서 R을 입력합니다. 448 00:23:39,730 --> 00:23:42,820 당신이 R 스튜디오가있는 경우 또는 또한 작품 등. 449 00:23:42,820 --> 00:23:46,270 Windows 사용자의 경우 당신은해야합니다 시작 메뉴에서 R을 찾을 수. 450 00:23:46,270 --> 00:23:50,390 그것은 뭔가를 호출해야 R x64의 추천 포인트 뭐든간에. 451 00:23:50,390 --> 00:23:53,110 거기에 그를 엽니 다. 452 00:23:53,110 --> 00:23:58,850 >> 그래서 지금 그냥 날 보자 터미널 창을 엽니 다. 453 00:23:58,850 --> 00:24:02,562 좋아, 검색. 454 00:24:02,562 --> 00:24:03,520 청중 : 명령 공간 455 00:24:03,520 --> 00:24:06,675 코너 해리스 : 명령 공간, 감사합니다. 456 00:24:06,675 --> 00:24:10,030 나는 일반적으로 맥을 사용하지 마십시오. 457 00:24:10,030 --> 00:24:13,310 터미널, 새 창을 보여줍니다. 458 00:24:13,310 --> 00:24:18,120 새로운 윈도우가 설정이다 기본, R. 그래서 당신은 가야 459 00:24:18,120 --> 00:24:22,230 환영 메시지, 이런 식으로 뭔가. 460 00:24:22,230 --> 00:24:31,060 >> 그래서 대화 형 R을 사용하고 있습니다. 461 00:24:31,060 --> 00:24:32,719 또한 물론 R 스크립트를 작성할 수 있습니다. 462 00:24:32,719 --> 00:24:34,510 기본적으로 스크립트 실행 동일한 방법으로 463 00:24:34,510 --> 00:24:40,250 당신은 컴퓨터에 앉아 있다면 한 번에 모든 라인 하나를 입력. 464 00:24:40,250 --> 00:24:42,660 그럼 벡터를 만들어 시작하자. 465 00:24:42,660 --> 00:24:46,230 화살표 C (1, 2). 466 00:24:46,230 --> 00:24:49,400 1, 2, 4. 467 00:24:49,400 --> 00:24:50,050 확인, 확인을 클릭합니다. 468 00:24:50,050 --> 00:24:51,630 나는 폰트 크기가 더 큰 만들 수 있습니다. 469 00:24:51,630 --> 00:24:53,030 >> 청중 : 명령 플러스 470 00:24:53,030 --> 00:24:53,650 >> 코너 해리스 : 명령 플러스. 471 00:24:53,650 --> 00:24:54,191 명령 플러스. 472 00:24:54,191 --> 00:24:57,610 473 00:24:57,610 --> 00:25:00,370 그래, 그 방법은? 474 00:25:00,370 --> 00:25:00,870 좋다? 475 00:25:00,870 --> 00:25:01,551 그래. 476 00:25:01,551 --> 00:25:03,300 그럼 시작하자 벡터의 목록을 선언. 477 00:25:03,300 --> 00:25:08,710 , 화살표, C 1,2,4를 수행합니다. 478 00:25:08,710 --> 00:25:11,181 우리는 볼 수 있습니다. 479 00:25:11,181 --> 00:25:12,680 이 브래킷에 대해 걱정하지 마십시오. 480 00:25:12,680 --> 00:25:18,590 당신이 밖으로 인쇄 할 경우 브래킷은 너무하다 매우 긴 배열, 우리는 당신은 수있는 곳. 481 00:25:18,590 --> 00:25:26,987 하나의 예로들 수 있다면 단지 200 범위 (2)를 할 수 있습니다. 482 00:25:26,987 --> 00:25:28,820 나는 매우를 인쇄 한 경우 긴 배열, 괄호 483 00:25:28,820 --> 00:25:31,060 그냥 그렇게 나는 유지할 수있다 추적하는 인덱스 484 00:25:31,060 --> 00:25:33,250 내가 찾고 있어요 경우 우리는에있어 이 시각을 통해. 485 00:25:33,250 --> 00:25:36,570 486 00:25:36,570 --> 00:25:38,280 그래서 어쨌든, 우리는있다. 487 00:25:38,280 --> 00:25:43,326 >> 그래서 나는 그 배열이 상호 작용하기 전에 말했다 매우 능숙하게, 예를 들면, 488 00:25:43,326 --> 00:25:44,450 이 같은 단항 작업. 489 00:25:44,450 --> 00:25:46,500 그래서 나는거야 생각 내가 더하기 1을 입력하면 얻을? 490 00:25:46,500 --> 00:25:49,630 491 00:25:49,630 --> 00:25:51,140 네. 492 00:25:51,140 --> 00:25:54,250 그래, 지금은 만들거야 이 다른 배열입니다. 493 00:25:54,250 --> 00:26:01,650 이제 B C 20, 40, 80을 가정 해 봅시다. 494 00:26:01,650 --> 00:26:03,400 그래서 당신은 어떻게 생각하십니까 이 명령을 할 것인가? 495 00:26:03,400 --> 00:26:09,962 496 00:26:09,962 --> 00:26:10,670 요소를 추가합니다. 497 00:26:10,670 --> 00:26:14,950 그래서 기본적으로 그게 무엇이다. 498 00:26:14,950 --> 00:26:16,740 그래서이 아주 편리합니다. 499 00:26:16,740 --> 00:26:23,800 그래서 내가 어떻게 이렇게 대해. 기음 이다의 10으로, 6 회 1을 가정 해 봅시다. 500 00:26:23,800 --> 00:26:26,789 501 00:26:26,789 --> 00:26:28,830 그래서 내가보고 싶어 포함에게, 당신은 생각 하는가? 502 00:26:28,830 --> 00:26:37,110 503 00:26:37,110 --> 00:26:38,110 여섯 그래서 모든 배수. 504 00:26:38,110 --> 00:26:42,170 지금, 당신은 어떻게 생각하십니까 내가 이렇게하면됩니까? 505 00:26:42,170 --> 00:26:48,090 나는이 조금 더 명확한, C, C를 만들 수 있습니다. 506 00:26:48,090 --> 00:26:50,365 그래서 무슨 일을 할 나는이 작업을 수행 할 경우, 생각하세요? 507 00:26:50,365 --> 00:26:51,488 플러스 다. 508 00:26:51,488 --> 00:26:55,550 509 00:26:55,550 --> 00:26:56,050 [알아들을 수 없는] 510 00:26:56,050 --> 00:26:58,552 511 00:26:58,552 --> 00:27:02,350 >> 청중 : 오류 또는 어느 단지 처음 세 개의 요소를 추가합니다. 512 00:27:02,350 --> 00:27:04,510 >> 코너 해리스 : 꽤하지 않습니다. 513 00:27:04,510 --> 00:27:05,522 이것은 우리가 가진 것입니다. 514 00:27:05,522 --> 00:27:08,910 무슨 일 짧은 어레이는, 순환있어. 515 00:27:08,910 --> 00:27:13,990 그래서 우리는 (124), (124), (124)를 얻었다. 516 00:27:13,990 --> 00:27:15,710 네. 517 00:27:15,710 --> 00:27:18,940 그리고 기본적으로, 당신은 볼 수 있습니다 이 동작하기 전에, 플러스 1, 518 00:27:18,940 --> 00:27:22,190 이 동작의 서브 클래스로 짧은 배열은 숫자입니다 519 00:27:22,190 --> 00:27:25,410 1 개의 원소 배열된다. 520 00:27:25,410 --> 00:27:27,740 난 그냥 모든 벡터를 말하는 대신 어레이의 시간, 521 00:27:27,740 --> 00:27:30,290 그 때문에 어떤 R 문서는 일반적으로하지 않습니다. 522 00:27:30,290 --> 00:27:33,070 그것은 뿌리 깊은 C 습관이다. 523 00:27:33,070 --> 00:27:37,590 >> 좋아, 그래서 지금 우리는이 배열이있다. 524 00:27:37,590 --> 00:27:38,830 그래서 우리는이 배열, C가있다. 525 00:27:38,830 --> 00:27:41,380 우리는 요약을 얻을 수 있습니다 C, 요약 C에 대한 통계. 526 00:27:41,380 --> 00:27:46,920 527 00:27:46,920 --> 00:27:48,280 그리고 그것은 좋은 데요. 528 00:27:48,280 --> 00:27:51,070 529 00:27:51,070 --> 00:27:52,670 그래서 지금의 몇 가지 매트릭스 일을 할 수 있습니다. 530 00:27:52,670 --> 00:27:56,160 이제 M은 행렬이다 가정 해 봅시다. 531 00:27:56,160 --> 00:27:57,780 의 세 가지 중 하나가 그것에게 세 가지를 만들어 보자. 532 00:27:57,780 --> 00:28:01,630 그래서 NROWS 3은 동일하고,으로 ncols 3과 같다. 533 00:28:01,630 --> 00:28:04,190 534 00:28:04,190 --> 00:28:10,710 그리고 데이터에 대한 것은 이제 do--하자 그래서 뭐 당신이 할 것입니다 생각하십니까? 535 00:28:10,710 --> 00:28:15,310 536 00:28:15,310 --> 00:28:16,580 >> 오른쪽, 다음 하나. 537 00:28:16,580 --> 00:28:17,970 그것은 nrow 및 ncolumn입니다. 538 00:28:17,970 --> 00:28:22,164 539 00:28:22,164 --> 00:28:24,580 그래서했습니다 내가 무슨 짓을했는지입니다 세에 의해 세 행렬을 선언 540 00:28:24,580 --> 00:28:26,950 나는 아홉 요소의 배열에 전달했습니다. 541 00:28:26,950 --> 00:28:30,530 모두의 로그 그래서 요소 구를 통해 하나. 542 00:28:30,530 --> 00:28:33,400 543 00:28:33,400 --> 00:28:37,285 그리고 모든 값 채우기 array-- 미안까지? 544 00:28:37,285 --> 00:28:38,660 청중 :베이스 (10) 로그가 그입니까? 545 00:28:38,660 --> 00:28:41,284 코너 해리스 : 아니, 로그는 자연 로그, 그래서 기본 전자. 546 00:28:41,284 --> 00:28:44,886 547 00:28:44,886 --> 00:28:47,010 그래, 당신이 원하는 경우 기본 (10) 로그, 난 당신이 거라고 생각 548 00:28:47,010 --> 00:28:51,620 로그 (10)으로 나눈 무엇이든, 로그인합니다. 549 00:28:51,620 --> 00:28:56,750 그리고 [들림] 그냥 그렇게 데이터 , 아래로 배열, 그래서 정상을 채워 550 00:28:56,750 --> 00:28:59,490 다음 왼쪽에서 오른쪽으로. 551 00:28:59,490 --> 00:29:06,890 그리고 당신은 다른 작업을 수행하기를 원한다면 배열의 n은 매트릭스라고 할 수 있습니다. 552 00:29:06,890 --> 00:29:10,317 내가 13, 2를 모르는, 이제하자. 553 00:29:10,317 --> 00:29:11,900 아니면 내가 더 흥미있는 일을 할 것입니다. 554 00:29:11,900 --> 00:29:13,770 나는 4 2을 다하겠습니다. 555 00:29:13,770 --> 00:29:15,780 nrow는,의, 3을 가정 해 봅시다 같습니다. 556 00:29:15,780 --> 00:29:18,992 을 NcoI 4와 동일합니다. 557 00:29:18,992 --> 00:29:20,360 엔. 558 00:29:20,360 --> 00:29:22,090 그래서 우리는이 있어요. 559 00:29:22,090 --> 00:29:26,130 >> 그리고 지금 우리가이 곱하려는 경우, 우리는 N %의 시간의 퍼센트를 할 것입니다 560 00:29:26,130 --> 00:29:27,680 즉 N 왜냐하면. 561 00:29:27,680 --> 00:29:30,234 562 00:29:30,234 --> 00:29:31,400 그리고 우리는 매트릭스 제품이 있습니다. 563 00:29:31,400 --> 00:29:33,970 564 00:29:33,970 --> 00:29:37,810 그들은 그건 그렇고, 당신은 어떻게 보았는가 나는 N을 선언 할 때, 2-4 565 00:29:37,810 --> 00:29:43,570 벡터까지 순환있어 그것은 N을 모두 채워? 566 00:29:43,570 --> 00:29:45,710 당신은 가져 가고 싶어하는 경우 고유 분석, 567 00:29:45,710 --> 00:29:46,960 이것은 우리가 아주 쉽게 할 수있는 일입니다. 568 00:29:46,960 --> 00:29:47,709 우리는 고유의 N을 수행 할 수 있습니다. 569 00:29:47,709 --> 00:29:52,290 570 00:29:52,290 --> 00:29:54,600 그리고 이것은 우리의 첫 번째입니다 목록이 발생합니다. 571 00:29:54,600 --> 00:29:57,000 >> 그래서 고유 N은 두 개의 키를 가진 목록입니다. 572 00:29:57,000 --> 00:29:58,430 여기에이 배​​열 값. 573 00:29:58,430 --> 00:30:01,030 그리고 벡터, 여기에이 배​​열된다. 574 00:30:01,030 --> 00:30:08,240 그래서 당신은 추출하고자한다면, 말하자면,이 세 번째 열 575 00:30:08,240 --> 00:30:13,080 고유 벡터 행렬에서, 때문에 고유 벡터는 열 벡터이다. 576 00:30:13,080 --> 00:30:24,400 그래서 우리는 VEC 고유 N 달러 기호를 할 수 벡터, 쉼표 3의 [들림]. 577 00:30:24,400 --> 00:30:29,800 578 00:30:29,800 --> 00:30:30,900 VEC. 579 00:30:30,900 --> 00:30:34,100 예상대로, 점이다. 580 00:30:34,100 --> 00:30:39,210 >> 그런 말을 n 번 %의 시간 VEC. 581 00:30:39,210 --> 00:30:42,610 582 00:30:42,610 --> 00:30:48,320 그래서 결과는 여기에 확실히 보이는 우리가 여기에 제 3 고유했다 경우, 583 00:30:48,320 --> 00:30:50,390 있는 대응 세 번째 고유 벡터. 584 00:30:50,390 --> 00:30:53,190 그냥 모든 것을 곱 이 고유 벡터, 구성 요소 현명한, 585 00:30:53,190 --> 00:30:53,990 고유 값에 의해. 586 00:30:53,990 --> 00:30:57,760 우리가 무엇을 기대 그리고는,이다 즉 고유은 무엇 때문에. 587 00:30:57,760 --> 00:31:00,890 여기에 누군가를하지 않았습니다 선형 대수를 촬영? 588 00:31:00,890 --> 00:31:02,530 몇 사람, 확인을 클릭합니다. 589 00:31:02,530 --> 00:31:04,030 그냥 조금 당신의 두뇌를 끄십시오. 590 00:31:04,030 --> 00:31:07,490 591 00:31:07,490 --> 00:31:20,720 그리고 우리는 고유 N을 실제로 경우 3 회 VEC 달러 기호 값, 592 00:31:20,720 --> 00:31:21,810 잘 같은 일을 얻는다. 593 00:31:21,810 --> 00:31:24,726 그것은 행으로 다른 형식의 것 대신 열 벡터의 벡터, 594 00:31:24,726 --> 00:31:25,640 하지만 큰 문제. 595 00:31:25,640 --> 00:31:29,430 596 00:31:29,430 --> 00:31:35,170 그래서 사람들은 기본적으로 좋은입니다 우리가 행렬과 함께 할 수있는 일, 597 00:31:35,170 --> 00:31:36,489 증명 목록. 598 00:31:36,489 --> 00:31:39,030 나는 좋은을 보여해야 뿐만 아니라 기능에 대한 것. 599 00:31:39,030 --> 00:31:41,750 >> 그럼 say--하자 [들림] 기능,하자 전화 600 00:31:41,750 --> 00:31:51,960 N N squared-- 기능에 대한 FUNC 그것 사실, 그건 정말 최고의 아니다. 601 00:31:51,960 --> 00:31:55,632 A, B, 제곱 플러스 나. 602 00:31:55,632 --> 00:31:58,547 603 00:31:58,547 --> 00:32:00,380 그래서 한 가지에 대한 기능, 또, 그것들은 604 00:32:00,380 --> 00:32:01,963 명시 적으로 반환 문을 필요로하지 않습니다. 605 00:32:01,963 --> 00:32:04,250 그래서 당신을 그냥 ... 수 평가 마지막 문 606 00:32:04,250 --> 00:32:07,502 반환 된 문을 것입니다, 또는 값이 돌아왔다. 607 00:32:07,502 --> 00:32:10,460 이 경우에 그래서, 우리는 평가하고 하나의 문, 제곱 플러스 나. 608 00:32:10,460 --> 00:32:12,043 즉, 기본 반환 값이됩니다. 609 00:32:12,043 --> 00:32:14,530 그것은에 넣어 결코 아프지 않는다 명시 적으로 값을 반환 610 00:32:14,530 --> 00:32:16,880 당신은 상대하고 특히 매우 복잡한 로직의 기능 611 00:32:16,880 --> 00:32:17,380 흐름. 612 00:32:17,380 --> 00:32:18,450 그러나 당신이 그들을 필요가 없습니다. 613 00:32:18,450 --> 00:32:24,890 그래서 지금 우리는 FUNC 5, 1을 수행 할 수 있습니다 이것은 당신이 기대하는 것을 기본적으로. 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 우리가 할 수있는 뭔가 다른, 우리는 실제로 FUNC의 (B)을 수행 할 수 있습니다 616 00:32:31,270 --> 00:32:33,260 1에 해당, 5 같습니다. 617 00:32:33,260 --> 00:32:36,870 618 00:32:36,870 --> 00:32:40,770 우리가 여기에있는 번호를 지정한다면, 이는 인수하면되는 인수에 간다 619 00:32:40,770 --> 00:32:44,680 함수에서, 우리는 주위에 전환 할 수 있습니다 이 값은 어디든지 우리는 할 수 있습니다. 620 00:32:44,680 --> 00:32:48,405 >> 청중 : 이유가 있나요 B와 그것을 쓰기 621 00:32:48,405 --> 00:32:52,404 그냥 사용하는 것이 아니라 동일 숫자와 콤마? 622 00:32:52,404 --> 00:32:54,820 코너 해리스 : 네, 일반적으로 이 기능이있는 경우이 작업을 수행 623 00:32:54,820 --> 00:32:58,540 인수의 많은. 624 00:32:58,540 --> 00:33:00,690 그것은 종종 같은 수 있습니다 플래그 당신은 좋겠 625 00:33:00,690 --> 00:33:03,130 드문 경우에 사용하려고합니다. 626 00:33:03,130 --> 00:33:06,740 그리고이 방법은 당신을 only-- 수 있습니다 특정 인수를 참조 할 수 있습니다 627 00:33:06,740 --> 00:33:09,110 당신이 사용하려는 기본값이 아닌 값에 대한 628 00:33:09,110 --> 00:33:14,470 당신은을 작성할 필요가 없습니다 플래그의 무리는 그 후 거짓 같습니다. 629 00:33:14,470 --> 00:33:19,710 아니면 내가 다시이를 쓸 수 있습니다 B와 같은 기본 값은 2와 같습니다. 630 00:33:19,710 --> 00:33:26,289 그리고 나는 F의 FUNC를 할 수있는, 나는 4, 1이 시간을 다하겠습니다. 631 00:33:26,289 --> 00:33:28,580 4 그리고 17 제곱 플러스 1, 당신은 예상대로. 632 00:33:28,580 --> 00:33:34,290 >> 그러나 나는 또한 수 만 FUNC 4이 전화, 633 00:33:34,290 --> 00:33:36,970 나는 때문에 18를 얻을 수 있습니다 나는 B를 지정하지 마십시오. 634 00:33:36,970 --> 00:33:38,550 따라서, B는 2의 디폴트 값을 얻는다. 635 00:33:38,550 --> 00:33:41,700 636 00:33:41,700 --> 00:33:47,200 >> 좋아, 그럼 지금 당신은이 있다면 데모와 함께 다음, 637 00:33:47,200 --> 00:33:51,010 명령에이 줄을 입력 메시지를 표시하고 온다 기능을 참조하십시오. 638 00:33:51,010 --> 00:33:52,090 사실, 그렇게하지 ​​않습니다. 639 00:33:52,090 --> 00:33:52,590 이를 입력합니다. 640 00:33:52,590 --> 00:33:57,780 641 00:33:57,780 --> 00:34:01,000 당신이 뭔가를 얻어야한다. 642 00:34:01,000 --> 00:34:04,780 mtcars 그래서 데이터에 내장되어 이 데모 설정 643 00:34:04,780 --> 00:34:13,550 즉 오는 일 해요 제공 목적 당신의 R 분포 기본적으로있다. 644 00:34:13,550 --> 00:34:19,211 이 통계의 편집이다 모터 트렌드 잡지의 1974 년 문제 645 00:34:19,211 --> 00:34:20,710 다른 자동차 모델의 수에 대한. 646 00:34:20,710 --> 00:34:28,270 >> 그래서 갤런 당 마일있다, cylinders-- 내가 무엇 DISP is-- 마력 잊어 버려. 647 00:34:28,270 --> 00:34:31,610 648 00:34:31,610 --> 00:34:32,420 아마. 649 00:34:32,420 --> 00:34:36,920 방금 구글 MT 자동차의 경우, 첫 번째 결과 다음 하나 650 00:34:36,920 --> 00:34:38,730 에서 될 것입니다 공식 R 문서 651 00:34:38,730 --> 00:34:41,080 그것은 설명 할 것 모든 데이터 필드. 652 00:34:41,080 --> 00:34:47,020 그래서 무게는 중량 is-- 톤에있는 차의 무게. 653 00:34:47,020 --> 00:34:48,880 Q 초 분기 마​​일 시간입니다. 654 00:34:48,880 --> 00:34:52,409 655 00:34:52,409 --> 00:34:55,850 그래서 지금 우리는 몇 가지 재미있는 일을 할 수있다 MT 차량에 대한 데이터 필드입니다. 656 00:34:55,850 --> 00:35:01,640 >> 그래서 우리는 일을 할 수있다 행 이름, MT 차있다. 657 00:35:01,640 --> 00:35:05,490 이는 모든 행의 목록은 차의 이름입니다 데이터 세트. 658 00:35:05,490 --> 00:35:10,780 우리는 COLNAMES, MT 차량이 작업을 수행 할 수 있습니다. 659 00:35:10,780 --> 00:35:15,500 당신이 산 차량의 경우에, 이 같은 하위 숫자 인덱스. 660 00:35:15,500 --> 00:35:18,177 우리는에서 두 번째 열을 얻을 이것은 실린더가 될 것이다. 661 00:35:18,177 --> 00:35:19,370 >> 청중 : 당신은 무엇을 했는가? 662 00:35:19,370 --> 00:35:21,570 >> 코너 해리스 : 나는 입력 MT 자동차, 괄호 전자, 663 00:35:21,570 --> 00:35:24,180 이는 나에게 두 번째를 준 MT 차의 밖으로 열입니다. 664 00:35:24,180 --> 00:35:34,501 665 00:35:34,501 --> 00:35:38,110 우리가 행을 원하는 경우 또는, 내가 입력 할 수 있습니다 mtcars 예를 들어, 2 콤마. 666 00:35:38,110 --> 00:35:41,850 667 00:35:41,850 --> 00:35:46,390 그와 같은 다른 2 라운드 쉼표,. 668 00:35:46,390 --> 00:35:48,880 그리고 그것은 당신의 행에 간다. 669 00:35:48,880 --> 00:35:54,680 이 여기에 당신에게 제공하는 벡터로 열하지만 열입니다. 670 00:35:54,680 --> 00:36:04,634 671 00:36:04,634 --> 00:36:06,425 나는 지금 막 깨달았다 나는 설명하는 것을 잊었다 672 00:36:06,425 --> 00:36:09,150 벡터에 대한 몇 가지 멋진 일 당신은 인덱스와 함께 할 수있다. 673 00:36:09,150 --> 00:36:10,480 그래서 내가 지금 당장 할 수 있습니다. 674 00:36:10,480 --> 00:36:17,130 그럼 C gets-- 퍼팅하자 1-10 pause-- 2 회에이. 675 00:36:17,130 --> 00:36:21,360 그래서 C 단지가 될 것입니다 (20)를 통해 벡터 2. 676 00:36:21,360 --> 00:36:24,640 나는 C2,이 같은 요소를 취할 수 있습니다. 677 00:36:24,640 --> 00:36:30,942 나는 벡터에 전달할 수 있습니다 이런 식으로, 나를 보자 c-- 678 00:36:30,942 --> 00:36:34,470 VEC C와 같은, C보다 다른 이름을 사용합니다. 679 00:36:34,470 --> 00:36:37,591 680 00:36:37,591 --> 00:36:39,340 기본적으로, 나는이 일을 해요 이 그래서 당신은하지 않습니다 681 00:36:39,340 --> 00:36:45,010 로 C 사이에 혼동 벡터 건설 함수 682 00:36:45,010 --> 00:36:48,800 다음 변수 이름으로 C. 683 00:36:48,800 --> 00:36:53,120 VEC 브래킷 C 4, 5, 7. 684 00:36:53,120 --> 00:36:56,540 이것은, 다섯 번째, 네 번째 나를를 얻을 수 있습니다 하고 배열의 일곱 요소. 685 00:36:56,540 --> 00:37:01,740 나는 부정적인에 넣어, VEC 작업을 수행 할 수 있습니다 마이너스 4와 같은 인덱스. 686 00:37:01,740 --> 00:37:06,500 그와 함께이 날을 얻을 것이다 네 번째 요소는 제거. 687 00:37:06,500 --> 00:37:10,140 그럼 난 조각을 원한다면, 나는 6를 통해 VEC이 작업을 수행 할 수 있습니다. 688 00:37:10,140 --> 00:37:15,480 2 콜론 (6)는 또 다른입니다 벡터 2, 3, 4, 5, 6. 689 00:37:15,480 --> 00:37:18,230 그 밖으로 뱉어. 690 00:37:18,230 --> 00:37:20,770 >> 그래서 어쨌든, 다시 산 자동차에. 691 00:37:20,770 --> 00:37:26,650 692 00:37:26,650 --> 00:37:28,450 그래서 일부 회귀 분석을 수행 할 수 있습니다. 693 00:37:28,450 --> 00:37:34,240 의 모델이하자 gets-- 가정 해 봅시다 선형 모르겠어요 regress--. 694 00:37:34,240 --> 00:37:41,780 최초의 물론, mtcars을 첨부 할 수 있습니다. 695 00:37:41,780 --> 00:37:44,870 696 00:37:44,870 --> 00:38:00,010 그래서 [들리지] 모델 필름은의이 퇴보하게 물결 무게에 갤런 당 마일. 697 00:38:00,010 --> 00:38:03,300 그리고 데이터 프레임은 mtcars입니다. 698 00:38:03,300 --> 00:38:06,830 그래서 요약 모델. 699 00:38:06,830 --> 00:38:12,900 700 00:38:12,900 --> 00:38:15,595 >> 좋아, 그럼이 조금 복잡하게 보인다. 701 00:38:15,595 --> 00:38:19,380 그러나 기본적으로, 보는 것처럼 우리 갤런 당 마일을 표현하려고 702 00:38:19,380 --> 00:38:23,970 중량의 선형 함수로서 우리는 여기이 줄을 가지고, 703 00:38:23,970 --> 00:38:28,730 37.28에있는 차단. 704 00:38:28,730 --> 00:38:33,830 37.28 이론적 마일 것 제로 무게 자동차의 갤런 당. 705 00:38:33,830 --> 00:38:41,210 그리고 모든 추가 톤을 위해, 당신은 갤런 당 약 오마일 노크 706 00:38:41,210 --> 00:38:42,440 그 끕니다. 707 00:38:42,440 --> 00:38:45,120 이 계수는 모두 당신 이 표준 오류를 볼 수 있습니다. 708 00:38:45,120 --> 00:38:47,870 그리고 그들은 매우입니다 통계적으로 유의. 709 00:38:47,870 --> 00:38:55,740 >> 그래서 우리는 매우 확신 할 수 마이너스 10 1 E (10). 710 00:38:55,740 --> 00:38:59,510 음에 따라서 1 번 뭔가를 10, 당신이 무거운 차를 만들 경우 그, 711 00:38:59,510 --> 00:39:01,440 이 갤런 당 악화 마일이있을 것이다. 712 00:39:01,440 --> 00:39:04,940 713 00:39:04,940 --> 00:39:07,250 아니면 우리는 다른 모델을 테스트 할 수 있습니다. 714 00:39:07,250 --> 00:39:09,230 대신 같이 중량이 기능에 영향을 미치지, 715 00:39:09,230 --> 00:39:12,600 ,의 무게의 로그를 회귀하자 아마 효과적인 체중 때문에 716 00:39:12,600 --> 00:39:15,690 주행 거리에 어떻게 든 선형이 아니다. 717 00:39:15,690 --> 00:39:18,540 >> 이것은 우리에게 0.7528의 제곱 R을 주었다. 718 00:39:18,540 --> 00:39:19,610 그럼 이것을 시도 할 수 있습니다. 719 00:39:19,610 --> 00:39:21,485 이 시간의이 작업을 수행 할 수 너무 다른 변수. 720 00:39:21,485 --> 00:39:22,500 모델 2. 721 00:39:22,500 --> 00:39:24,800 그래서 요약, 모델 2. 722 00:39:24,800 --> 00:39:28,200 723 00:39:28,200 --> 00:39:31,390 좋아, 그래서 다시, 우리 여기에 우리의 가장 적합한 라인을 얻었다. 724 00:39:31,390 --> 00:39:36,160 그리고이 time--이, 말하는 기본적으로 그 때마다 725 00:39:36,160 --> 00:39:38,090 중량의 증가 (E)의 계수에 의해 자동차 726 00:39:38,090 --> 00:39:40,580 당신은 갤런 당이 많은 마일을 잃게됩니다. 727 00:39:40,580 --> 00:39:43,210 728 00:39:43,210 --> 00:39:50,326 >> 그리고이 시간 우리의 잔류 기준 정말 중요하지 않습니다 그건 ... 에러. 729 00:39:50,326 --> 00:39:53,540 잔류 표준 오차는 기본적으로 그냥 표준 오류 730 00:39:53,540 --> 00:39:57,760 당신은 당신 후에 남아있는 것을 추세선을 빼앗아. 731 00:39:57,760 --> 00:40:02,805 그리고 여기 제곱 우리의 r은 0.81이다 보다 약간 더되는 것을 732 00:40:02,805 --> 00:40:07,640 우리는 0.52 이전했다. 733 00:40:07,640 --> 00:40:09,750 >> 그리고 이제를 추가 할 수 이 회귀하는 용어입니다. 734 00:40:09,750 --> 00:40:13,020 그럼 갤런 당 마일 회귀하자 모두 무게의 로그에 735 00:40:13,020 --> 00:40:21,130 그리고, 이제 수행 Q 마일하자, 분기 마일 시간. 736 00:40:21,130 --> 00:40:26,190 확인, 그것은 짓이야 모든 권리, qsec이 있어야합니다. 737 00:40:26,190 --> 00:40:26,690 Qsec. 738 00:40:26,690 --> 00:40:30,630 739 00:40:30,630 --> 00:40:35,000 ... 사실상 죄송합니다, 무엇을? 740 00:40:35,000 --> 00:40:37,000 날이 뭔가를 부르 자 다른 모델 2 게다가. 741 00:40:37,000 --> 00:40:38,000 날이 model3를 부르 자. 742 00:40:38,000 --> 00:40:40,860 743 00:40:40,860 --> 00:40:42,900 그래서 지금 우리는 요약 model3을 수행 할 수 있습니다. 744 00:40:42,900 --> 00:40:46,850 745 00:40:46,850 --> 00:40:49,100 그리고 다시, 이것은 기본적 당신이 기대하는 무엇. 746 00:40:49,100 --> 00:40:51,750 당신은 긍정적 인 절편이있다. 747 00:40:51,750 --> 00:40:54,550 증가 효과 무게는 부정적이다. 748 00:40:54,550 --> 00:40:58,490 그리고 효과를 증가 분기 마​​일 시간 749 00:40:58,490 --> 00:41:02,420 포지티브이지만, 비록 무게에 비해 너무 적은. 750 00:41:02,420 --> 00:41:06,010 이제 직관적으로, 당신의 감각을 만들 수 있습니다 이 스포츠카에 대해 생각 말하면서. 751 00:41:06,010 --> 00:41:08,950 매우 빠른 가속이있다, 매우 짧은 분기 마​​일 시간. 752 00:41:08,950 --> 00:41:13,729 그들은 또한 더 많은 가스를 사용하는거야 분별 자동차가는 반면, 753 00:41:13,729 --> 00:41:16,020 느린 가속을 가지고, 높은 분기 마​​일 시간, 754 00:41:16,020 --> 00:41:20,890 그래서 ,, 더 적은 가스를 사용하는 갤런 당 더 높은 마일. 755 00:41:20,890 --> 00:41:21,390 큰. 756 00:41:21,390 --> 00:41:23,431 그래서 지금은 시간이다 이 같은 음모. 757 00:41:23,431 --> 00:41:27,810 그래서 그렇게 베어 do-​​-하자 뼈는 우리가 plots-- 할 수 758 00:41:27,810 --> 00:41:35,280 나는이 데이터 프레임을 장착했기 때문에 before-- 우리는 플롯, 중량 MPG을 수행 할 수 있습니다. 759 00:41:35,280 --> 00:41:38,762 760 00:41:38,762 --> 00:41:39,720 이 조금 더 큰합니다. 761 00:41:39,720 --> 00:41:55,050 762 00:41:55,050 --> 00:41:57,350 거기에, 우리는 기본적으로이 산포도,하지만 포인트 763 00:41:57,350 --> 00:41:58,690 이에 볼 가지 어렵다. 764 00:41:58,690 --> 00:42:04,860 765 00:42:04,860 --> 00:42:10,900 >> 나는 즉석 무엇을 기억하지 않는다 구문은 플롯을 변경하는 것입니다. 766 00:42:10,900 --> 00:42:14,100 그래서이 될 것 같아요 좋은 시간은 불러옵니다 767 00:42:14,100 --> 00:42:18,000 아주 좋은 내장 도움이있다 기능, 도움말 따옴표 이름을 작동합니다. 768 00:42:18,000 --> 00:42:21,690 우리는 기본적으로 가져올 것이다 당신이 원하는 무엇이든. 769 00:42:21,690 --> 00:42:28,010 770 00:42:28,010 --> 00:42:32,730 나는 실제로이 작업을 수행 할 수있을 거라 생각 유형은 점 플롯에 대한 P 같습니다. 771 00:42:32,730 --> 00:42:34,369 그 아무것도 변경 했습니까? 772 00:42:34,369 --> 00:42:35,160 그리고 아니, 정말. 773 00:42:35,160 --> 00:42:39,160 774 00:42:39,160 --> 00:42:39,660 괜찮아. 775 00:42:39,660 --> 00:42:46,760 776 00:42:46,760 --> 00:42:49,580 >> 어떤 이유로, 내가 이런 짓을 할 때 들어 얼마 전에 내 자신의 컴퓨터에, 777 00:42:49,580 --> 00:42:52,080 모든 산란 지점 훨씬 명확했다. 778 00:42:52,080 --> 00:43:06,390 779 00:43:06,390 --> 00:43:13,970 어쨌든, 볼의 분산 종류는? 780 00:43:13,970 --> 00:43:15,124 거기에 하나가있다. 781 00:43:15,124 --> 00:43:16,165 이 몇 몇있다. 782 00:43:16,165 --> 00:43:18,860 783 00:43:18,860 --> 00:43:21,185 당신은 종류의 오른쪽을 볼 수 있습니까? 784 00:43:21,185 --> 00:43:24,310 그래서 우리는 가장 적합한 라인을 추가하려면 조금 베어 여기이 음모에 785 00:43:24,310 --> 00:43:29,290 bones-- 내가 그것을 조금 더 멋진 만들어 보자. 786 00:43:29,290 --> 00:43:38,075 주요 체중에 비해 같습니다. 787 00:43:38,075 --> 00:43:46,322 788 00:43:46,322 --> 00:43:49,740 갤런 당 마일. 789 00:43:49,740 --> 00:43:53,570 다시 말하지만, 당신은 얼마나 유용 볼 수 있습니다 선택적 인수도 여기 있습니다 790 00:43:53,570 --> 00:43:58,090 물건을 넣어 가지고 있지 키보드 인수를 특정 순서 791 00:43:58,090 --> 00:44:01,600 당신은 플롯 때문에이있을 때 이러한 인수 많이 걸릴. 792 00:44:01,600 --> 00:44:07,490 >> Xlab 체중, 체중, 톤 같습니다. 793 00:44:07,490 --> 00:44:10,091 794 00:44:10,091 --> 00:44:10,590 괜찮아. 795 00:44:10,590 --> 00:44:17,340 796 00:44:17,340 --> 00:44:21,480 좋아, 그래,이 장치 조금 성가신되고 있습니다. 797 00:44:21,480 --> 00:44:30,160 하지만 당신은, 일종의 거기 볼 수 있습니다 측면에 그래프의 제목이있다. 798 00:44:30,160 --> 00:44:35,260 여기 there's-- 바닥에 이상 여기에 축 레이블이 있습니다. 799 00:44:35,260 --> 00:44:37,700 나는 즉석 기억하지 않는다 어떤 명령이 ars-- 800 00:44:37,700 --> 00:44:41,000 기능들은 증가하는 어떤 그 라벨 및 타이틀의 크기, 801 00:44:41,000 --> 00:44:43,110 하지만 그들은 거기에있어. 802 00:44:43,110 --> 00:44:46,625 >> 그리고 우리가 원하는 경우 가장 적합한 라인을 추가, 803 00:44:46,625 --> 00:44:49,250 우리는 내가 그때 엔 뭔가를 할 수 이 구문은 여기에 작성합니다. 804 00:44:49,250 --> 00:44:52,280 805 00:44:52,280 --> 00:45:11,130 그래서 우리는 단지 모델을 추가 기억 MPG, 무게, mtcars했다. 806 00:45:11,130 --> 00:45:16,470 그래서 만약 내가 가장 적합한을 추가하고 싶어 라인, 나는 A, B 라인 모델을 할 수 있었다. 807 00:45:16,470 --> 00:45:18,556 그리고 붐, 우리는 가장 적합한 라인. 808 00:45:18,556 --> 00:45:19,970 그것은 다시 볼 가지 어렵다. 809 00:45:19,970 --> 00:45:22,178 나는에 대해 매우 죄송 해요 기술적 어려움. 810 00:45:22,178 --> 00:45:25,230 그러나 기본적으로 실행 위에서 아래 왼쪽에서 오른쪽으로. 811 00:45:25,230 --> 00:45:27,550 >> 그리고 규모 인 경우 더 큰, 당신은 볼 수 있었다 812 00:45:27,550 --> 00:45:31,260 절편이라고 당신은 무엇을 할 수 요약 통계에서 찾을 수 813 00:45:31,260 --> 00:45:34,790 당신은 요약 모델을 입력합니다. 814 00:45:34,790 --> 00:45:40,130 좋아, 그럼 나는 모두 가져 희망 감각의 무언가 무엇 815 00:45:40,130 --> 00:45:42,030 R은 좋은 무엇이다. 816 00:45:42,030 --> 00:45:45,520 당신보다 훨씬 더 좋은 플롯을 만들 수 자신의 시간에,이, 당신이 좋아하는 경우에. 817 00:45:45,520 --> 00:45:50,100 818 00:45:50,100 --> 00:45:53,950 >> 외부 함수 인터페이스 그래서. 819 00:45:53,950 --> 00:46:00,330 이것은 일반적으로하지 않습니다 뭔가 입문 강의에 덮여 820 00:46:00,330 --> 00:46:03,560 R 또는 소개 아무것도. 821 00:46:03,560 --> 00:46:05,584 그것은 당신이 그것을 필요 해요 가능성이 아니에요. 822 00:46:05,584 --> 00:46:08,000 그러나, 나는에 유용하다고 과거의 내 자신의 프로젝트. 823 00:46:08,000 --> 00:46:10,984 그리고 좋은 없다 온라인에 대한 튜토리얼. 824 00:46:10,984 --> 00:46:12,900 그래서 난 그냥 갈거야 이 과정을 모두 돌진 825 00:46:12,900 --> 00:46:16,606 그리고 당신은 떠날 무료입니다. 826 00:46:16,606 --> 00:46:18,480 그래서 외국 기능 인터페이스는 무엇입니까 827 00:46:18,480 --> 00:46:23,130 당신이 볼를 호출하는 데 사용할 수있는 R. 내부와 기능, 828 00:46:23,130 --> 00:46:29,850 C. 연구의 산술 그냥에 R이 내장되어 있습니다 C의 64 비트 부동 소수점 연산, 829 00:46:29,850 --> 00:46:32,852 한 번 [들림] 유형입니다. 830 00:46:32,852 --> 00:46:35,060 그리고 당신은 수행 할 수 있습니다 이유는 한 무리의이. 831 00:46:35,060 --> 00:46:39,250 일례로, R은, 그것의 해석 하지 머신 코드에 아래로 컴파일. 832 00:46:39,250 --> 00:46:42,170 그래서 당신은 다시 쓸 수 있습니다 도착 후 C 및 내부 루프 833 00:46:42,170 --> 00:46:45,920 R. 등을 사용하는 장점 그것은 좀 더 편리 C. 이상이다 834 00:46:45,920 --> 00:46:48,899 그것은 더 나은 그래프를 가지고 시설과 이것 저것. 835 00:46:48,899 --> 00:46:51,690 그리고 아직도 수있는 동안은 얻을 수 내부 루프 중 최고 속도, 836 00:46:51,690 --> 00:46:53,650 이는 당신이 정말로 그것을 필요로하는 곳에있다. 837 00:46:53,650 --> 00:46:56,330 >> 기존의 C 라이브러리를 인용, 그 또한 중요합니다. 838 00:46:56,330 --> 00:47:00,320 이 같은 일부 C 라이브러리가있는 경우, 나는, 푸리에 변환, 모르는 839 00:47:00,320 --> 00:47:05,190 또는 아주 시생대을 통계 절차를 사용 840 00:47:05,190 --> 00:47:09,470 고 에너지 천체 물리학에서 또는 뭔가, 나는 모른다. 841 00:47:09,470 --> 00:47:13,058 고 에너지 천체 물리학 심지어 생각하지, 나는 생각한다. 842 00:47:13,058 --> 00:47:16,480 하지만 당신은하는 대신 그 작업을 수행 할 수 있습니다 이들의 출신 R 포트를 작성합니다. 843 00:47:16,480 --> 00:47:22,725 그리고 짓이야 다시, 당신의 경우처럼 R의 기본 라이브러리의 대부분을 보면, 844 00:47:22,725 --> 00:47:25,600 내부에, 내부는 외부 함수를 이용하려고 845 00:47:25,600 --> 00:47:26,724 매우 광범위하게 인터페이스. 846 00:47:26,724 --> 00:47:31,630 그들은 푸​​리에 같은 일을해야합니다 변환 또는 상관 관계를 계산 847 00:47:31,630 --> 00:47:34,890 계수는 C로 작성, 그들은거야 그냥 주위에 R 래퍼가 있습니다. 848 00:47:34,890 --> 00:47:38,230 인터페이스는 조금 어렵습니다. 나는 생각한다 849 00:47:38,230 --> 00:47:43,750 그 어려움은 과장되어 당신이 찾을 지침의 많은. 850 00:47:43,750 --> 00:47:46,200 그러나 그럼에도 불구하고, 조금 혼란 스럽다. 851 00:47:46,200 --> 00:47:48,650 그리고 나는 할 수 없었다 그것을 위해 좋은 자습서를 찾을 수 있습니다, 852 00:47:48,650 --> 00:47:51,980 그래서이 바로 지금이다. 853 00:47:51,980 --> 00:47:55,360 다시 말하지만,이 모든 세그먼트 나중에 참조 할 수 있도록 더 많은 것이다. 854 00:47:55,360 --> 00:47:57,687 복사에 대해 걱정하지 마십시오 지금 아래 다. 855 00:47:57,687 --> 00:48:00,020 다음 지침에 따라서 유닉스 계열 시스템을위한 것으로 856 00:48:00,020 --> 00:48:05,150 리눅스, BSD는 OS X의는 나도 몰라 이 윈도우에서 작동하는 방법, 857 00:48:05,150 --> 00:48:08,280 하지만 그냥하지 마십시오 당신의 Windows에서 최종 프로젝트. 858 00:48:08,280 --> 00:48:10,790 859 00:48:10,790 --> 00:48:12,460 당신은 정말하고 싶지 않다. 860 00:48:12,460 --> 00:48:14,770 유닉스는 훨씬 더 집합입니다 캐주얼 프로그래밍까지. 861 00:48:14,770 --> 00:48:19,320 862 00:48:19,320 --> 00:48:21,390 그래서, 기본적으로 외국 기능 인터페이스입니다. 863 00:48:21,390 --> 00:48:24,420 당신은 C를 작성하려면 R 사용하기위한 기능, 864 00:48:24,420 --> 00:48:27,250 모든을한다 포인터로 인수. 865 00:48:27,250 --> 00:48:30,666 >> 그래서 하나의 값이 이 값이 가리키는 것을 의미한다. 866 00:48:30,666 --> 00:48:33,040 배열의 경우,이 포인터는 첫 번째 요소에있는 867 00:48:33,040 --> 00:48:36,750 배열 이름이 실제로 의미하는 것입니다. 868 00:48:36,750 --> 00:48:40,140 다시 말하지만, 이것은 당신이 있어야합니다 무언가이다 꽤 완전히 p는 다섯을 설정 한 후 아래로. 869 00:48:40,140 --> 00:48:43,334 배열 이름은 포인터 첫 번째 요소, 870 00:48:43,334 --> 00:48:44,750 부동 소수점 형식은 이중이다. 871 00:48:44,750 --> 00:48:47,310 그리고 당신의 기능은 무효 반환한다. 872 00:48:47,310 --> 00:48:50,810 이 할 수있는 유일한 방법 실제로 무슨 일이 있었는지 R 말해 873 00:48:50,810 --> 00:48:54,410 R은 준 메모리를 수정하는 것입니다 그것에 외국 기능을 통해 874 00:48:54,410 --> 00:48:54,910 인터페이스. 875 00:48:54,910 --> 00:48:58,180 876 00:48:58,180 --> 00:49:00,127 >> 그래서 나는이 작성한 여기 예제이다 877 00:49:00,127 --> 00:49:02,460 사용을 계산하는 기능 두 벡터의 내적. 878 00:49:02,460 --> 00:49:05,060 그것은 두 개의 인수, vec1, VEC2 소요 어떤 벡터 자체이며, 879 00:49:05,060 --> 00:49:06,934 다음 N, 이는 인 길이 다시 때문에, 880 00:49:06,934 --> 00:49:12,630 R은 찾아 [들림] 내장되어 벡터의 길이,하지만 C하지 않습니다. 881 00:49:12,630 --> 00:49:16,182 C에서, 벡터는 임의 메모리의 구분 덩어리. 882 00:49:16,182 --> 00:49:17,890 그래서 방법을 수행 할 수 있습니다 내적 계산 883 00:49:17,890 --> 00:49:23,470 단지 매개 변수를이을 설정 제로 다음을 통해 반복 884 00:49:23,470 --> 00:49:28,760 1 있기 때문에, N 스타합니다 N 길이의 포인터, 885 00:49:28,760 --> 00:49:32,929 단지에 뭔가를 추가 이 출력 매개 변수입니다. 886 00:49:32,929 --> 00:49:34,970 그리고 그것은 좋은 방법이 될 수 있습니다 당신은 할 거라면 887 00:49:34,970 --> 00:49:37,270 이 두 개의 분리 된 C 함수를 작성합니다. 888 00:49:37,270 --> 00:49:41,970 그 중 하나는 그 중 하나 단지 has-- 인수 및 형식을 취 889 00:49:41,970 --> 00:49:43,970 그들은 일반적으로 C로 될 것이라고 890 00:49:43,970 --> 00:49:47,780 >> 그래서 배열을 포인터로 인수. 891 00:49:47,780 --> 00:49:57,090 그러나 N 같은 단일 값 인수, 그냥, 복사에 의해 값으로한다 892 00:49:57,090 --> 00:49:57,917 포인터없이. 893 00:49:57,917 --> 00:49:59,750 그리고 그렇지 않습니다 [들림] 아웃 포인터. 894 00:49:59,750 --> 00:50:01,290 그리고 당신은 할 수 있습니다 다른 기본적 895 00:50:01,290 --> 00:50:03,623 래퍼 기능이 기본적으로 요구를 처리 896 00:50:03,623 --> 00:50:07,740 외국 기능의 당신을위한 인터페이스를 제공합니다. 897 00:50:07,740 --> 00:50:11,840 >> 당신은 R이 전화하는 방법은 한 번이다 당신은, 당신의 함수가 C로 작성해야 898 00:50:11,840 --> 00:50:17,770 당신은 R에 cmd를 shlib, R을 입력 명령 공유 라이브러리, 899 00:50:17,770 --> 00:50:20,110 푸 도트 C, 또는 무엇이든 파일 이름이며, 900 00:50:20,110 --> 00:50:23,020 그리고 OS가 R 단자에 있지 껍질. 901 00:50:23,020 --> 00:50:25,200 그리고이 만들어집니다 foo를 호출 라이브러리는 이렇게 점. 902 00:50:25,200 --> 00:50:28,180 그리고 당신은 그것을로드 할 수 있습니다 우리의 스크립트 나 대화 형 903 00:50:28,180 --> 00:50:32,310 명령 DYN 도트 부하. 904 00:50:32,310 --> 00:50:35,720 그런 기능이있다 R에 점 C했다. 905 00:50:35,720 --> 00:50:39,310 >> 이는 인수를 C에서 함수의 첫 번째 이름 906 00:50:39,310 --> 00:50:40,970 당신이 호출 할 것이다. 907 00:50:40,970 --> 00:50:43,920 그리고 모든 매개 변수 그 기능에, 908 00:50:43,920 --> 00:50:45,420 그들은 적절한 순서로해야한다. 909 00:50:45,420 --> 00:50:48,580 이러한 유형을 사용해야합니다 강제 기능 정수로, 같은 910 00:50:48,580 --> 00:50:52,050 이중, 문자와 같은 논리. 911 00:50:52,050 --> 00:50:54,710 그리고 그것을 반환 할 때 다시 그냥 목록, 912 00:50:54,710 --> 00:50:57,550 들의 연관된 어레이 매개 변수 이름과 값 913 00:50:57,550 --> 00:51:00,950 후 기능을 실행하고있다. 914 00:51:00,950 --> 00:51:08,520 >> 점 자극이 있기 때문에,이 경우에 따라서 인수는 N 밖으로, VEC2을 vec1, n은 int로. 915 00:51:08,520 --> 00:51:11,980 우리가 점 자극이 c를 점하기 위해, 함수 이름 916 00:51:11,980 --> 00:51:16,250 우리는 vec1, VEC2, 형 강제 변환, 전화하는거야. 917 00:51:16,250 --> 00:51:20,060 두 벡터의 길이, 난 그냥 vec1 임의로 선택했다. 918 00:51:20,060 --> 00:51:25,479 그것은의 말을 더 강력한 것 vec1의 정수 분의 길이, 길이 VEC2. 919 00:51:25,479 --> 00:51:27,520 그럼 그냥 더블 제로로, 우리가 정말하지 않기 때문에 920 00:51:27,520 --> 00:51:29,644 로 전환하든 상관 매개 변수에서 우리가이기 때문에 921 00:51:29,644 --> 00:51:32,270 를 설정하면 어쨌든 제로합니다. 922 00:51:32,270 --> 00:51:37,560 >> 그리고 결과가 될거야 기본적으로 큰 연관 배열 923 00:51:37,560 --> 00:51:42,090 vec1는 VEC2이 무엇이든 무엇이든이다. 924 00:51:42,090 --> 00:51:44,330 그러나 우리는 관심 밖으로, 그래서 우리는 그를 얻을 수 있습니다. 925 00:51:44,330 --> 00:51:47,780 이것은, 다시 매우 장난감 예이다 외부 함수 인터페이스. 926 00:51:47,780 --> 00:51:54,160 그러나 당신은 점을 계산해야하는 경우 루프에서 대규모 벡터의 제품, 927 00:51:54,160 --> 00:51:56,960 또는 당신은 할 필요가있는 경우 루프에서 뭔가 다른, 928 00:51:56,960 --> 00:51:59,850 당신이 R에 의존하지 않으려는, 이는 오버 헤드의 비트를 가지고있다 929 00:51:59,850 --> 00:52:02,830 그것으로 내장이 유용 할 수 있습니다. 930 00:52:02,830 --> 00:52:05,870 >> 다시, 이것은 보통 아니다 R.에 입문 주제 931 00:52:05,870 --> 00:52:08,571 그것은 아주 잘 설명 아니에요. 932 00:52:08,571 --> 00:52:11,070 난 그냥 있기 때문에 그것을 포함하고있어 나는 과거에 유용하다고. 933 00:52:11,070 --> 00:52:13,654 그래서, 나쁜 관행. 934 00:52:13,654 --> 00:52:15,820 나는이 있다고 언급 함수에서 루프. 935 00:52:15,820 --> 00:52:21,150 일반적으로 당신은에서하지 말아야 언어, 사용하지. 936 00:52:21,150 --> 00:52:26,100 R은 반복을 구현하는 방법에 따라 내부적으로는 속도가 느려질 수 있습니다. 937 00:52:26,100 --> 00:52:28,540 그들은 단지도 예쁘게. 938 00:52:28,540 --> 00:52:32,410 >> R은 매우, 매우 잘 벡터를 처리 자주 당신은 그것을 사용할 필요가 없습니다. 939 00:52:32,410 --> 00:52:35,050 940 00:52:35,050 --> 00:52:38,900 그럼 당신은 일반적으로 수 종종 벡터를 대체 941 00:52:38,900 --> 00:52:42,490 높은 불리는이 기능 주문 기능,지도, 감소 942 00:52:42,490 --> 00:52:44,404 찾기, 또는 필터링합니다. 943 00:52:44,404 --> 00:52:46,320 난 그냥주지 어떤이의 예는 않습니다. 944 00:52:46,320 --> 00:52:49,957 지도 고차 함수이다 때문에 이 인수로 기능을합니다. 945 00:52:49,957 --> 00:52:52,290 당신이 그것을 기능을 제공 할 수 있도록, 당신은 그것을 배열을 제공 할 수 있습니다, 946 00:52:52,290 --> 00:52:54,640 그리고 함수를 적용 배열의 모든 요소에 947 00:52:54,640 --> 00:52:55,681 새로운 배열을 돌려줍니다. 948 00:52:55,681 --> 00:52:58,035 949 00:52:58,035 --> 00:53:00,160 기본적으로 줄, 줄 그것은 배열, 당신은 그것을 제공 950 00:53:00,160 --> 00:53:02,930 두 개의 인수를 사용하는 함수입니다. 951 00:53:02,930 --> 00:53:07,100 먼저, 함수를 적용 일부 스타터 값을 첫 번째 인수. 952 00:53:07,100 --> 00:53:09,440 다음 두 번째에 그 결과로. 953 00:53:09,440 --> 00:53:12,590 그리고 세 번째에 그 결과로, 다음 네 번째에 그 결과로. 954 00:53:12,590 --> 00:53:14,870 이 마지막에 도달 할 때 그리고 돌아갑니다. 955 00:53:14,870 --> 00:53:17,620 그래서 예를 들어, 당신이 원하는 경우 모든 요소들의 합을 계산 956 00:53:17,620 --> 00:53:23,240 배열, 당신이 전화하는 것보다 감소 [들림]로하면 추가 감소 957 00:53:23,240 --> 00:53:26,620 기능, FUNC 등 A, B는 플러스 B를 반환합니다. 958 00:53:26,620 --> 00:53:28,960 그리고 0의 값을 시작합니다. 959 00:53:28,960 --> 00:53:32,950 >> 이 모든, 당신이 그들을 찾을 수 있습니다 R 문서에 설명 된, 960 00:53:32,950 --> 00:53:35,720 어떤 교과서에의 함수형 프로그래밍. 961 00:53:35,720 --> 00:53:38,330 이 클래스도 있습니다 호출되는 함수는 기능을 적용, 962 00:53:38,330 --> 00:53:42,807 어느 나는 그들이있어 설마 또 ... 하드 비트, 설명하기 963 00:53:42,807 --> 00:53:45,640 하지만 당신이 보면 [들림] 내가 처음에 인용 된 것을 경고를, 964 00:53:45,640 --> 00:53:48,615 그는 꽤 잘 그들을 설명 R 프로그래밍에 대한 자신의 부록. 965 00:53:48,615 --> 00:53:51,599 966 00:53:51,599 --> 00:53:53,390 관행에 대한 더 많은, 벡터에 추가. 967 00:53:53,390 --> 00:53:57,570 968 00:53:57,570 --> 00:53:58,070 네? 969 00:53:58,070 --> 00:54:01,651 970 00:54:01,651 --> 00:54:02,900 나는 그것을 수정해야합니다 생각합니다. 971 00:54:02,900 --> 00:54:07,450 그 첫 번째 줄에서, VEC 화살표, 그 화살표가 안됩니다. 972 00:54:07,450 --> 00:54:10,920 당신은 벡터에 할당 할 수있는 다시,에 의해 자사의 길이 플러스 1을 973 00:54:10,920 --> 00:54:13,220 그리고 그 일부에 값을 할당. 974 00:54:13,220 --> 00:54:18,970 즉, 벡터를 확장하거나 것 VEC 등호의 C, VEC newValue에 작업을 수행 할 수 있습니다. 975 00:54:18,970 --> 00:54:21,540 또, 경우에 C를 사용 벡터로 하나의 인수, 976 00:54:21,540 --> 00:54:23,300 생성 된 계층 구조는 평평하게됩니다. 977 00:54:23,300 --> 00:54:27,160 그래서 당신은 벡터를 얻을 수 있습니다 그 1 확장입니다. 978 00:54:27,160 --> 00:54:30,410 이 작업을 수행하지 마십시오. 979 00:54:30,410 --> 00:54:33,330 >> 이유를 문제는이입니다하지 말아야. 980 00:54:33,330 --> 00:54:37,430 는 벡터를 할당 할 때, 그것을 그것을 메모리의 특정 덩어리를 제공합니다. 981 00:54:37,430 --> 00:54:40,680 당신이 그 벡터의 크기를 증가 시키면, 이 벡터를 재 할당 할 수있다 982 00:54:40,680 --> 00:54:43,820 다른 곳. 983 00:54:43,820 --> 00:54:46,980 그리고 재 할당은 매우 비싸다. 984 00:54:46,980 --> 00:54:50,530 나는 방법의 세부 사항에 가지 않을 것이다 메모리 할당 자 구현된다 985 00:54:50,530 --> 00:54:57,280 오퍼레이팅 시스템 레벨에서, 그러나 이는 시간이 많이 소요 986 00:54:57,280 --> 00:54:58,962 메모리의 새로운 덩어리를 찾을 수 있습니다. 987 00:54:58,962 --> 00:55:00,920 또한, 당신이 있다면 재 할당 제비와 제비 988 00:55:00,920 --> 00:55:03,500 의 점진적 큰 덩어리, 당신은 결국 989 00:55:03,500 --> 00:55:06,420 라는 뭔가 메모리 조각화, 990 00:55:06,420 --> 00:55:09,390 여기서 사용 가능한 메모리가 작은 블록을 많이로 분할 991 00:55:09,390 --> 00:55:11,500 보기의 메모리 할당 자 포인트. 992 00:55:11,500 --> 00:55:15,340 그리고 그것은 힘들어 도착 다른 것들에 대한 기억을 찾을 수 있습니다. 993 00:55:15,340 --> 00:55:19,455 그래서 그 대신,이 작업을 수행해야하는 경우, 경우 하나의 끝에서 벡터를 성장해야 994 00:55:19,455 --> 00:55:24,240 다음으로, 여기에 첨부하는 대신 지속적으로, 당신은 그것을 미리 할당해야합니다. 995 00:55:24,240 --> 00:55:29,310 VEC 화살표, 벡터 길이 1000, 또는 무엇이든 동일합니다. 996 00:55:29,310 --> 00:55:33,200 >> 그리고 당신은 할당 할 수 있습니다 벡터의 값 하나에 997 00:55:33,200 --> 00:55:36,000 당신이 한 번 할당 한 후 시간. 998 00:55:36,000 --> 00:55:40,140 나는 다시, 이것으로 나의 여름 작업을 실행 때 내가 NRA 차이를 기록했다 999 00:55:40,140 --> 00:55:42,120 방정식 솔버. 1000 00:55:42,120 --> 00:55:43,180 숫자 기호하지 않습니다. 1001 00:55:43,180 --> 00:55:49,290 아이디어는 일단이다 솔루션에 대한 하나의 값, 1002 00:55:49,290 --> 00:55:51,240 당신은 다음을 계산하는 것을 사용한다. 1003 00:55:51,240 --> 00:55:53,700 순진 그래서 내 자연 기울기 확인 말을했다 1004 00:55:53,700 --> 00:55:56,930 그래서 벡터를 시작합니다 그 상당한 값입니다. 1005 00:55:56,930 --> 00:56:01,260 그 다음 값에서 계산 즉, 내 솔루션 벡터에 간다 1006 00:56:01,260 --> 00:56:02,630 그를 추가합니다. 1007 00:56:02,630 --> 00:56:05,290 >> 뭔가를 만들고, 그 추가합니다. 1008 00:56:05,290 --> 00:56:08,120 그것은 매우, 매우 느리게 갔다. 1009 00:56:08,120 --> 00:56:11,540 그리고이 실현되면 나는 내 시스템 변경 1010 00:56:11,540 --> 00:56:16,020 이 벡터에 추가에서 10,000 100,000 번 등, 1011 00:56:16,020 --> 00:56:18,910 다만하는 벡터를 미리 할당 그냥 그 실행. 1012 00:56:18,910 --> 00:56:22,100 나는 1,000 명 이상의 배 속도 업을 얻었다. 1013 00:56:22,100 --> 00:56:26,280 그래서 이것은 매우 일반적입니다 R 프로그래밍을위한 함정. 1014 00:56:26,280 --> 00:56:31,560 당신은 벡터를 구축해야하는 경우 조각으로 조각, 그것을 미리 할당합니다. 1015 00:56:31,560 --> 00:56:35,360 1016 00:56:35,360 --> 00:56:40,240 >> 이 up-- 또 다른 일반적인 여행은 나의 마지막 슬라이드, 오류 처리하지 worry-- 않습니다. 1017 00:56:40,240 --> 00:56:42,890 R, 솔직한로하지 않습니다 정말 잘 이렇게. 1018 00:56:42,890 --> 00:56:45,010 많이있다 최대자를 수있는 문제. 1019 00:56:45,010 --> 00:56:48,360 예를 들어, 배열을 얻는 경우 또는 기능 중 벡터 1020 00:56:48,360 --> 00:56:52,377 당신은 하나의 것으로 생각하는 값은 그 반대에서 온, 또는합니다, 1021 00:56:52,377 --> 00:56:55,460 당신은 함수에 그 전달이 당신은 단일 값을 기대하고 쓴, 1022 00:56:55,460 --> 00:56:57,270 즉, 문제가 될 수있다. 1023 00:56:57,270 --> 00:57:01,440 >> 특정 기능 마찬가지로, 말, null를 돌려줍니다 1024 00:57:01,440 --> 00:57:05,560 에서 읽기 목록에 존재하지 않는 키. 1025 00:57:05,560 --> 00:57:08,527 그러나 널 (Null)는 C처럼되지 않습니다 위치를 읽으려고하면 1026 00:57:08,527 --> 00:57:11,360 오래된 포인터에서, [들림] 포인터를 null로, 그냥 오류를 SEG 1027 00:57:11,360 --> 00:57:14,109 당신은 당신의 디버거에있을 경우 당신이 어디에 정확하게 알려줍니다. 1028 00:57:14,109 --> 00:57:17,080 1029 00:57:17,080 --> 00:57:20,772 기능을 do-- 것 대신, 널 (null) 예측할 수없는 일을 할 것입니다 1030 00:57:20,772 --> 00:57:21,730 그들은 손으로 널 (null)이라면. 1031 00:57:21,730 --> 00:57:24,575 당신이 최대 널 (null)를 건네하는 경우처럼, 그것은 당신에게 음의 무한대를 줄 것이다. 1032 00:57:24,575 --> 00:57:27,230 1033 00:57:27,230 --> 00:57:28,190 그리고, 그래. 1034 00:57:28,190 --> 00:57:30,880 1035 00:57:30,880 --> 00:57:32,630 그리고이 일이 나에게 나는 가지고 한 번 할 때 1036 00:57:32,630 --> 00:57:34,771 필드의 무리를 변경 내 목록 구조 1037 00:57:34,771 --> 00:57:37,520 일단 다른 곳을 변경하지 않고 때 나는 그들로부터 읽고 있었다. 1038 00:57:37,520 --> 00:57:40,670 그리고 나는 임의의 모든 종류를 가지고 무한대의 결과는 자르기 1039 00:57:40,670 --> 00:57:43,080 나는 아무 생각 그들은 온없는 경우. 1040 00:57:43,080 --> 00:57:45,310 그리고 불행하게도, 거기에 실제 R 엄격 모드 없음 1041 00:57:45,310 --> 00:57:48,940 여기서 당신이 뭔가하면 말할 수있다 이 오류가있을 수 있습니다처럼 보이는 1042 00:57:48,940 --> 00:57:51,960 나는 할 수 있도록 그냥 중지 훈련과 그 문제를 해결. 1043 00:57:51,960 --> 00:57:55,282 1044 00:57:55,282 --> 00:57:57,240 그러나 무언가가 정지하지 않는 경우는했다. 1045 00:57:57,240 --> 00:58:00,480 이것은 C의 주장과 동일 당신은 그것에 대해 이야기 한 경우. 1046 00:58:00,480 --> 00:58:02,690 전 C가 주장 생각하지 않습니다 강의 주제는, 1047 00:58:02,690 --> 00:58:06,370 하지만 섹션 리더 그것을 통해 갈 수 있습니다. 1048 00:58:06,370 --> 00:58:10,393 기본적으로 모든 소요하지 않을 경우 정지 술어, 그래서 어떤 문이 1049 00:58:10,393 --> 00:58:11,824 참 또는 거짓이 될 수 있습니다. 1050 00:58:11,824 --> 00:58:13,490 그것이 거짓이라면, 그것은 그 프로그램을 중지합니다. 1051 00:58:13,490 --> 00:58:18,260 그것은 당신이 라인을 정확히 알려줍니다 에 있었고, 어떤 상태에 실패했습니다. 1052 00:58:18,260 --> 00:58:21,910 >> 그리고이 매우 유용합니다, 예를 들어, 정신 검사, 기능 입력. 1053 00:58:21,910 --> 00:58:25,110 당신은 기능이 있다면 당신은, 말하자면, 기대 1054 00:58:25,110 --> 00:58:29,640 당신이 나에게 날짜를 제공해야하는 경우, 내가 원하는 날짜는 길이 1 단지 벡터 수 1055 00:58:29,640 --> 00:58:31,735 어딘가에 1과 31 사이. 1056 00:58:31,735 --> 00:58:34,420 1057 00:58:34,420 --> 00:58:36,170 그렇지 않은 경우, 나는 알고있다 뭔가 잘못 사라 졌어요. 1058 00:58:36,170 --> 00:58:40,280 그리고 나는이 전에 거기서 멈추지 선택 코드에 미치는 영향에 대한 무작위 노크를 가지고 1059 00:58:40,280 --> 00:58:44,190 어렵게 있다고 통해 추적합니다. 1060 00:58:44,190 --> 00:58:47,170 그래서 가능 하나 정지에 사용하지 않을 경우. 1061 00:58:47,170 --> 00:58:48,660 >> 좋아, 어쨌든. 1062 00:58:48,660 --> 00:58:49,690 그래서 끝입니다. 1063 00:58:49,690 --> 00:58:51,290 와 주셔서 정말 감사합니다. 1064 00:58:51,290 --> 00:58:53,710 나는이에 랭크 아마추어입니다. 1065 00:58:53,710 --> 00:58:57,270 그래서 미안 당신이 지루해하는 경우 또는 혼동 또는 무엇을해야합니다. 1066 00:58:57,270 --> 00:59:01,670 나는 이메일로 질문을 드리겠습니다 connorharris@college.harvard.edu에서. 1067 00:59:01,670 --> 00:59:07,230 이 모두를 위해 또한 간다 이 이후에 거주하거나보고. 1068 00:59:07,230 --> 00:59:10,190 또한, 비록 내가 아니에요 TF, 나 또한 매우입니다 1069 00:59:10,190 --> 00:59:13,900 비공식적 인 역할을 기꺼이 의 사람에 대한 고문 1070 00:59:13,900 --> 00:59:15,460 최종 프로젝트에 R을 사용. 1071 00:59:15,460 --> 00:59:19,900 >> 당신은하고 싶은 경우, 다음 당신의 TF 이야기 1072 00:59:19,900 --> 00:59:23,750 다음 그래서 나에게 이메일을 보냅니다 난 당신이 작업을하는지 알고 1073 00:59:23,750 --> 00:59:26,680 그래서 나는 회의를 설정할 수 있습니다 당신과 함께 시간은 당신이 원하는 경우. 1074 00:59:26,680 --> 00:59:27,990 그래서 다시, 대단히 감사합니다. 1075 00:59:27,990 --> 00:59:28,960 나는 당신이 그것을 즐길 바랍니다. 1076 00:59:28,960 --> 00:59:29,450 >> 청중 : [들림]. 1077 00:59:29,450 --> 00:59:30,617 >> 코너 해리스 : 물론. 1078 00:59:30,617 --> 00:59:34,910 >> 청중 : 프로젝트의 어떤 종류의 CS 학생에 대한 연구를 사용해야합니까? 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 코너 해리스 : 당신이하지 그래서 만약 순수하게 데이터 마이닝에 뭔가, 1081 00:59:40,510 --> 00:59:43,790 예를 들면, 거기 물건이 많이 있습니다 1082 00:59:43,790 --> 00:59:46,692 당신은 데이터와 그와 함께 할 수있는 마이닝 및 기계 학습. 1083 00:59:46,692 --> 00:59:48,900 당신을위한 R을 사용할 수 있습니다 무언가의 구성 요소입니다. 1084 00:59:48,900 --> 00:59:52,022 나는 원래, 예를 제기 당신은 웹 사이트를 작성하는의 경우 1085 00:59:52,022 --> 00:59:54,730 당신은 자동 실행하려면 서버의 통계 분석 1086 00:59:54,730 --> 00:59:57,990 일정 시간마다 하루에 로그, 그건 뭔가 수 있습니다 1087 00:59:57,990 --> 01:00:01,260 그냥 간단히 할 매우 쉽게 당신이 예약 할 수 있습니다 R 스크립트 1088 01:00:01,260 --> 01:00:04,200 예를 들어, 매일 밤 실행합니다. 1089 01:00:04,200 --> 01:00:06,550 >> 그리고, 확실 해요 어떤 이유가 당신 것입니다 1090 01:00:06,550 --> 01:00:11,520 통계 나 그래프 기능을 원하는 자동으로 대신 실행이 1091 01:00:11,520 --> 01:00:13,790 의 상호 작용을 할 필요 Excel에서 것들로, 1092 01:00:13,790 --> 01:00:16,750 예를 들어, 그 뭔가 당신을 위해 R을 사용할 수 있습니다. 1093 01:00:16,750 --> 01:00:21,190 그래서 전 더 이상 질문이 떠나? 1094 01:00:21,190 --> 01:00:21,690 아니? 1095 01:00:21,690 --> 01:00:24,960 좋아요, 다시, 감사합니다 오는에 대한 아주 많이. 1096 01:00:24,960 --> 01:00:29,417