1 00:00:00,000 --> 00:00:00,750 2 00:00:00,750 --> 00:00:09,800 >> [เล่นเพลง] 3 00:00:09,800 --> 00:00:13,014 4 00:00:13,014 --> 00:00:13,680 DUSTIN TRAN: สวัสดี 5 00:00:13,680 --> 00:00:14,980 ดัสตินชื่อของฉัน 6 00:00:14,980 --> 00:00:18,419 ดังนั้นผมจะนำเสนอ การวิเคราะห์ข้อมูลในอาร์ 7 00:00:18,419 --> 00:00:19,710 เพียงเล็กน้อยเกี่ยวกับตัวเอง 8 00:00:19,710 --> 00:00:24,320 ฉันปัจจุบันนักศึกษาระดับบัณฑิตศึกษาใน วิศวกรรมศาสตร์และวิทยาศาสตร์ประยุกต์ 9 00:00:24,320 --> 00:00:28,330 ผมเรียนสี่แยก การเรียนรู้เครื่องและสถิติ 10 00:00:28,330 --> 00:00:31,375 การวิเคราะห์ข้อมูลเพื่อให้ในการวิจัยคือ พื้นฐานจริงๆสิ่งที่ 11 00:00:31,375 --> 00:00:33,790 ที่ฉันทำในชีวิตประจำวัน 12 00:00:33,790 --> 00:00:35,710 >> และ R คือโดยเฉพาะอย่างยิ่ง ที่ดีสำหรับการวิเคราะห์ข้อมูล 13 00:00:35,710 --> 00:00:39,310 เพราะมันเป็นเรื่องที่ดีมากสำหรับการสร้างต้นแบบ 14 00:00:39,310 --> 00:00:43,590 และมักจะเมื่อคุณกำลังทำอะไรบางอย่าง ของการวิเคราะห์ข้อมูลจำนวนมากที่มีปัญหา 15 00:00:43,590 --> 00:00:44,920 จะให้ความรู้ความเข้าใจ 16 00:00:44,920 --> 00:00:48,700 และเพื่อให้คุณเพียงแค่ต้องการที่จะมี บางภาษาที่ดีจริงๆที่ 17 00:00:48,700 --> 00:00:53,770 เป็นเพียงที่ดีสำหรับการทำ ฟังก์ชั่นเมื่อเทียบ 18 00:00:53,770 --> 00:00:57,430 ที่จะมีการจัดการกับสิ่งที่ระดับต่ำ 19 00:00:57,430 --> 00:01:01,040 ดังนั้นในการเริ่มต้นฉันแค่ไป ที่จะแนะนำสิ่งที่เป็น R, ทำไมจะ 20 00:01:01,040 --> 00:01:04,540 คุณต้องการที่จะใช้มันและ แล้วไปไปสู่​​การสาธิตบาง 21 00:01:04,540 --> 00:01:07,060 และเพียงแค่ไปจากที่นั่น 22 00:01:07,060 --> 00:01:08,150 >> ดังนั้นสิ่งที่เป็น R? 23 00:01:08,150 --> 00:01:11,180 R เป็นเพียงภาษาพัฒนา สำหรับการคำนวณทางสถิติ 24 00:01:11,180 --> 00:01:12,450 และการมองเห็น 25 00:01:12,450 --> 00:01:16,000 ดังนั้นสิ่งนี้หมายความว่า มันเป็นภาษาที่ยอดเยี่ยมมาก 26 00:01:16,000 --> 00:01:22,400 สำหรับการจัดเรียงของสิ่งที่มีข้อตกลงใด ๆ กับ ความไม่แน่นอนหรือข้อมูลการสร้างภาพ 27 00:01:22,400 --> 00:01:24,850 เพื่อให้คุณมีทั้งหมดเหล่านี้ การแจกแจงความน่าจะเป็น 28 00:01:24,850 --> 00:01:27,140 มีจะเป็นกำลัง ฟังก์ชั่น 29 00:01:27,140 --> 00:01:31,650 นอกจากนี้คุณยังจะได้มีความยอดเยี่ยม แพคเกจการวางแผน 30 00:01:31,650 --> 00:01:34,110 >> งูหลามเป็นอีกหนึ่งการแข่งขัน ภาษาสำหรับข้อมูล 31 00:01:34,110 --> 00:01:40,020 และสิ่งหนึ่งที่ผมพบว่า R จะดีกว่ามากที่เป็นการสร้างภาพ 32 00:01:40,020 --> 00:01:45,200 ดังนั้นสิ่งที่คุณจะเห็นในการสาธิตเป็น ดีเป็นเพียงภาษาใช้งานง่ายมาก 33 00:01:45,200 --> 00:01:48,050 ที่เพิ่งทำงานได้ดีมาก 34 00:01:48,050 --> 00:01:53,140 นอกจากนี้ยังเป็นฟรีและเปิดแหล่งที่มาเป็น เป็นภาษาใด ๆ ที่ดีอื่น ๆ ผมคิดว่า 35 00:01:53,140 --> 00:01:55,440 >> และที่นี่, พวงเพียง คำหลักที่คุณโยน 36 00:01:55,440 --> 00:02:00,450 มันเป็นแบบไดนามิกซึ่งหมายความว่าถ้าคุณมี ชนิดเฉพาะที่กำหนดให้วัตถุ 37 00:02:00,450 --> 00:02:02,025 กว่ามันก็จะเปลี่ยนได้ทันที 38 00:02:02,025 --> 00:02:05,670 มันขี้เกียจดังนั้นจึงเป็นสมาร์ทเกี่ยวกับ วิธีการที่จะไม่คำนวณ 39 00:02:05,670 --> 00:02:12,250 ฟังก์ชั่นความหมายจริงๆมันสามารถทำงานได้ ตามออกของฟังก์ชั่นเพื่อ anything-- 40 00:02:12,250 --> 00:02:16,910 การเรียงลำดับของการจัดการใด ๆ ที่คุณกำลัง การทำก็จะตามออกฟังก์ชั่น 41 00:02:16,910 --> 00:02:20,162 >> ผู้ประกอบการไบนารีดังนั้นสำหรับตัวอย่างเช่น เป็นเพียงการทำงานโดยเนื้อแท้ 42 00:02:20,162 --> 00:02:21,870 และทุกอย่างที่ คุณกำลังจะทำคือ 43 00:02:21,870 --> 00:02:24,690 จะต้องวิ่งออกจากฟังก์ชั่นของตัวเอง 44 00:02:24,690 --> 00:02:27,140 และแล้วเชิงวัตถุเช่นกัน 45 00:02:27,140 --> 00:02:30,930 >> ดังนั้นนี่คือพล็อต XKCD 46 00:02:30,930 --> 00:02:34,350 ไม่เพียงเพราะฉันรู้สึกเหมือน XKCD เป็นพื้นฐานในการเรียงลำดับใด ๆ 47 00:02:34,350 --> 00:02:37,770 ของงานนำเสนอ แต่เป็นเพราะ ฉันรู้สึกเช่นนี้จริงๆ 48 00:02:37,770 --> 00:02:42,160 ตอกจุดที่มากของ เวลาที่คุณกำลังทำเรียงลำดับของข้อมูลบางส่วน 49 00:02:42,160 --> 00:02:46,570 การวิเคราะห์ปัญหาที่เกิดขึ้นไม่ได้ มากวิธีที่รวดเร็วทำงาน 50 00:02:46,570 --> 00:02:49,850 แต่ระยะเวลามันจะ พาคุณไปยังโปรแกรมงาน 51 00:02:49,850 --> 00:02:54,112 ดังนั้นนี่เป็นเพียงการวิเคราะห์ว่า กลยุทธ์หรือมีประสิทธิภาพมากขึ้น 52 00:02:54,112 --> 00:02:55,820 นี้เป็นไปได้ บางสิ่งบางอย่างที่คุณ 53 00:02:55,820 --> 00:02:58,290 จะจัดการจำนวนมากที่มีอยู่ใน การเรียงลำดับของภาษาในระดับต่ำ 54 00:02:58,290 --> 00:03:03,440 ที่คุณจัดการกับความผิดพลาด seg, จัดสรรหน่วยความจำเริ่มต้นให้, 55 00:03:03,440 --> 00:03:05,270 ยังทำให้ฟังก์ชั่นในตัว 56 00:03:05,270 --> 00:03:09,920 และสิ่งนี้จะถูกจัดการทั้งหมด มากอย่างหรูหราในอาร์ 57 00:03:09,920 --> 00:03:12,839 >> ดังนั้นเพียงแค่ค้อนนี้ จุดคอขวดที่ใหญ่ที่สุด 58 00:03:12,839 --> 00:03:13,880 เป็นไปได้องค์ความรู้ 59 00:03:13,880 --> 00:03:17,341 การวิเคราะห์ข้อมูลดังนั้นเป็นปัญหาที่ยากมาก 60 00:03:17,341 --> 00:03:19,340 ไม่ว่าคุณกำลังทำ การเรียนรู้เครื่องหรือคุณ 61 00:03:19,340 --> 00:03:22,550 ทำเพียงแค่การจัดเรียงของบางอย่าง การสำรวจข้อมูลพื้นฐาน 62 00:03:22,550 --> 00:03:25,290 คุณไม่ต้องการที่จะมี ที่จะใช้เอกสาร 63 00:03:25,290 --> 00:03:27,440 และคอมไพล์แล้ว บางสิ่งบางอย่างทุกครั้งที่คุณ 64 00:03:27,440 --> 00:03:31,010 ต้องการที่จะเห็นสิ่งที่คอลัมน์ดูเหมือน โดยเฉพาะอย่างยิ่งสิ่งที่รายการในเมทริกซ์ 65 00:03:31,010 --> 00:03:32,195 ดูเหมือนว่า 66 00:03:32,195 --> 00:03:34,320 ดังนั้นคุณเพียงต้องการที่จะมี บางอินเตอร์เฟซที่ดีจริงๆ 67 00:03:34,320 --> 00:03:37,740 คุณสามารถเรียกใช้ฟังก์ชั่นที่เรียบง่าย ที่ดัชนีสิ่งที่ 68 00:03:37,740 --> 00:03:41,870 คุณต้องการและเพียงแค่เรียกใช้จากที่นั่น 69 00:03:41,870 --> 00:03:44,190 และคุณจะต้องโดเมน ภาษาที่เฉพาะเจาะจงสำหรับการนี​​้ 70 00:03:44,190 --> 00:03:51,750 และ R จริงๆจะช่วยให้คุณกำหนด ปัญหาและแก้ปัญหาได้ในลักษณะนี้ 71 00:03:51,750 --> 00:03:58,690 >> ดังนั้นนี่คือพล็อตแสดงการเขียนโปรแกรม ความนิยมของ R ที่มันหายไปเมื่อเวลาผ่านไป 72 00:03:58,690 --> 00:04:04,060 เพื่อที่คุณจะได้เห็นเช่น 2013 หรือ ดังนั้นมันก็พัดขึ้นอย่างมาก 73 00:04:04,060 --> 00:04:09,570 และนี้ได้รับเพียงเพราะการที่ แนวโน้มใหญ่ในอุตสาหกรรมเทคโนโลยี 74 00:04:09,570 --> 00:04:10,590 ข้อมูลขนาดใหญ่เกี่ยวกับ 75 00:04:10,590 --> 00:04:13,010 นอกจากนี้ไม่เพียง แต่เทคโนโลยี อุตสาหกรรม แต่จริงๆ 76 00:04:13,010 --> 00:04:16,490 that-- อุตสาหกรรมใด ๆ เพราะ จำนวนมากของอุตสาหกรรม 77 00:04:16,490 --> 00:04:20,589 มีการเรียงลำดับของพื้นฐาน พยายามที่จะแก้ปัญหาเหล​​่านี้ 78 00:04:20,589 --> 00:04:24,590 และมักจะคุณสามารถมีที่ดีบางอย่าง วิธีการวัดปัญหาเหล​​่านี้ 79 00:04:24,590 --> 00:04:29,720 หรือแม้กระทั่งการกำหนดพวกเขาหรือ การแก้พวกเขาโดยใช้ข้อมูล 80 00:04:29,720 --> 00:04:35,430 ดังนั้นผมคิดว่าตอนนี้ R คือ 11 ภาษาที่นิยมมากที่สุดใน TIOBE 81 00:04:35,430 --> 00:04:38,200 และจะได้รับการเจริญเติบโตตั้งแต่นั้นมา 82 00:04:38,200 --> 00:04:40,740 83 00:04:40,740 --> 00:04:43,080 >> ดังนั้นนี่คือบางมากขึ้น คุณสมบัติของอาร์มันมี 84 00:04:43,080 --> 00:04:46,900 จำนวนมหาศาลของแพคเกจและ สำหรับทุกสิ่งที่แตกต่างกันเหล่านี้ 85 00:04:46,900 --> 00:04:52,470 ดังนั้นเวลาที่คุณต้อง ปัญหาบางอย่างมากที่สุด 86 00:04:52,470 --> 00:04:55,060 R เวลาจะมี ฟังก์ชั่นที่สำหรับคุณ 87 00:04:55,060 --> 00:04:58,520 ดังนั้นไม่ว่าคุณต้องการที่จะ สร้างการเรียงลำดับของเครื่องบาง 88 00:04:58,520 --> 00:05:02,770 ขั้นตอนวิธีการเรียนรู้ที่เรียกว่า ป่าสุ่มหรือต้นไม้ตัดสินใจ 89 00:05:02,770 --> 00:05:07,530 หรือแม้แต่พยายามที่จะใช้ค่าเฉลี่ยของ ฟังก์ชั่นหรือใด ๆ ของสิ่งนี้ 90 00:05:07,530 --> 00:05:10,000 R จะมีที่ 91 00:05:10,000 --> 00:05:14,190 >> และถ้าคุณทำคุณดูแลเกี่ยวกับ การเพิ่มประสิทธิภาพของสิ่งหนึ่งที่พบบ่อย 92 00:05:14,190 --> 00:05:17,430 คือว่าหลังจากที่คุณเสร็จสิ้นการสร้างต้นแบบ การจัดเรียงของบางภาษาระดับสูง, 93 00:05:17,430 --> 00:05:19,810 คุณจะโยนว่า in-- คุณจะเพียงพอร์ตว่ากว่า 94 00:05:19,810 --> 00:05:21,550 กับบางภาษาระดับต่ำ 95 00:05:21,550 --> 00:05:26,090 มีอะไรที่ดีเกี่ยวกับ R คือว่าเมื่อคุณ ทำต้นแบบนั้นคุณสามารถเรียกใช้ภาษา C ++ 96 00:05:26,090 --> 00:05:29,510 หรือ Fortran หรือใด ๆ เหล่านี้ คนที่ต่ำกว่าระดับโดยตรงในอาร์ 97 00:05:29,510 --> 00:05:32,320 นั่นคือใครจริงๆ คุณสมบัติเย็นเกี่ยวกับ R, 98 00:05:32,320 --> 00:05:35,930 ถ้าคุณจริงๆดูแลเกี่ยวกับ จุดเพิ่มประสิทธิภาพ 99 00:05:35,930 --> 00:05:39,490 >> และก็ยังดีจริงๆ สำหรับการสร้างภาพบนเว็บ 100 00:05:39,490 --> 00:05:43,530 ดังนั้น D3.js เช่นเป็น ผมคิดว่าการสัมมนาอื่น 101 00:05:43,530 --> 00:05:45,130 ที่เรานำเสนอในวันนี้ 102 00:05:45,130 --> 00:05:48,510 และนี้เป็นจริงที่น่ากลัวสำหรับ ทำการสร้างภาพแบบโต้ตอบ 103 00:05:48,510 --> 00:05:54,460 และ D3.js อนุมานว่าคุณมี การเรียงลำดับของข้อมูลบางอย่างจะได้รับการพล็อต 104 00:05:54,460 --> 00:05:58,080 และ R คือวิธีที่ดีของความสามารถในการทำ การวิเคราะห์ข้อมูลก่อนที่จะส่งออก 105 00:05:58,080 --> 00:06:04,220 ไป D3.js หรือแม้กระทั่งการทำงานเพียง D3.js คำสั่งเป็น R ตัวเอง 106 00:06:04,220 --> 00:06:08,240 เช่นเดียวกับทุกเหล่านี้ ห้องสมุดอื่น ๆ ได้เป็นอย่างดี 107 00:06:08,240 --> 00:06:13,041 >> ดังนั้นที่เป็นเพียงการแนะนำของ สิ่งที่เป็น R และเหตุผลที่คุณอาจจะใช้มัน 108 00:06:13,041 --> 00:06:14,790 ดังนั้นหวังว่าฉันได้ เชื่อว่าสิ่งที่คุณ 109 00:06:14,790 --> 00:06:18,460 เกี่ยวกับเพียงแค่พยายามที่จะเห็นสิ่งที่มันต้องการ 110 00:06:18,460 --> 00:06:23,930 ดังนั้นฉันจะไปข้างหน้าและผ่านไป ปัจจัยพื้นฐานบางอย่างเกี่ยวกับวัตถุ R 111 00:06:23,930 --> 00:06:26,150 และสิ่งที่คุณสามารถทำได้จริงๆ 112 00:06:26,150 --> 00:06:29,690 >> ดังนั้นนี่เป็นเพียง พวงของคำสั่งทางคณิตศาสตร์ 113 00:06:29,690 --> 00:06:35,000 ดังนั้นพูด you're-- คุณต้องการสร้าง ภาษาที่ตัวเองและคุณเพียงต้องการ 114 00:06:35,000 --> 00:06:38,080 ที่จะมีพวงของเครื่องมือที่แตกต่างกัน 115 00:06:38,080 --> 00:06:42,520 การเรียงลำดับของการดำเนินการใด ๆ ที่คุณคิดว่าคุณต้องการ ต้องการคือสวยมากจะอยู่ในอาร์ 116 00:06:42,520 --> 00:06:44,150 >> ดังนั้นนี่คือ 2 บวก 2 117 00:06:44,150 --> 00:06:46,090 นี่คือครั้งที่ 2 ปี่ 118 00:06:46,090 --> 00:06:51,870 R มีพวงของในตัวคงที่ ที่คุณมักจะใช้เช่นปี่, E 119 00:06:51,870 --> 00:06:56,230 >> แล้วนี่คือ 7 บวก runif ดังนั้น runif 1 120 00:06:56,230 --> 00:07:02,450 นี้เป็นฟังก์ชั่นที่สร้าง หนึ่งเครื่องแบบสุ่ม 0-1 121 00:07:02,450 --> 00:07:04,400 แล้วมี 3 ถึงพลังของ 4 122 00:07:04,400 --> 00:07:06,430 มีรากที่สองคือ 123 00:07:06,430 --> 00:07:07,270 >> มีการเข้าสู่ระบบเป็น 124 00:07:07,270 --> 00:07:14,500 ดังนั้นการเข้าสู่ระบบจะทำฐาน ชี้แจงด้วยตัวเอง 125 00:07:14,500 --> 00:07:18,337 แล้วถ้าคุณระบุฐานแล้ว คุณสามารถทำฐานสิ่งที่คุณต้องการ 126 00:07:18,337 --> 00:07:19,920 และแล้วนี่คือบางส่วนคำสั่งอื่น ๆ 127 00:07:19,920 --> 00:07:22,180 เพื่อให้คุณมี 23 สมัย 2 128 00:07:22,180 --> 00:07:24,910 แล้วคุณมีส่วนที่เหลือ 129 00:07:24,910 --> 00:07:27,110 แล้วคุณมีทางวิทยาศาสตร์ สัญกรณ์ถ้าคุณยัง 130 00:07:27,110 --> 00:07:34,060 ต้องการที่จะทำมากขึ้นเพียงและ สิ่งที่ซับซ้อนมากขึ้น 131 00:07:34,060 --> 00:07:37,320 >> ดังนั้นนี่คือที่ได้รับมอบหมาย 132 00:07:37,320 --> 00:07:40,830 ที่ได้รับมอบหมายโดยทั่วไปดังนั้นใน R จะทำกับลูกศร 133 00:07:40,830 --> 00:07:43,440 ดังนั้นจึงเป็นเรื่องที่น้อยกว่าแล้วยัติภังค์ 134 00:07:43,440 --> 00:07:47,250 ดังนั้นที่นี่ฉันแค่กำหนด 3 Val ตัวแปร 135 00:07:47,250 --> 00:07:50,160 >> แล้วผมพิมพ์ออก Val และจากนั้นก็พิมพ์ออกสาม 136 00:07:50,160 --> 00:07:53,920 โดยค่าเริ่มต้นในล่าม R มัน สิ่งที่จะพิมพ์ออกมาให้คุณ 137 00:07:53,920 --> 00:07:57,280 ดังนั้นคุณจึงไม่ต้องระบุพิมพ์ Val เวลาที่คุณต้องการที่จะพิมพ์อะไรบางอย่างใด 138 00:07:57,280 --> 00:08:00,200 คุณก็สามารถทำ Val และ แล้วมันจะทำเพื่อคุณ 139 00:08:00,200 --> 00:08:04,380 >> นอกจากนี้คุณยังสามารถใช้เท่ากับในทางเทคนิค เป็นผู้ประกอบการที่ได้รับมอบหมาย 140 00:08:04,380 --> 00:08:07,190 มีรายละเอียดปลีกย่อยเล็กน้อยเป็น ระหว่างการใช้ลูกศร 141 00:08:07,190 --> 00:08:10,730 ผู้ประกอบการและเท่าเทียมกัน ผู้ประกอบการที่ได้รับมอบหมาย 142 00:08:10,730 --> 00:08:15,470 โดยส่วนใหญ่การประชุมทุกคน ก็จะใช้ประกอบการที่ลูกศร 143 00:08:15,470 --> 00:08:21,850 >> และที่นี่ผมกำหนดนี้ สัญกรณ์เฉียงเรียกว่า 1 ลำไส้ใหญ่ 6 144 00:08:21,850 --> 00:08:26,010 นี้จะสร้างเวกเตอร์ 1-6 145 00:08:26,010 --> 00:08:29,350 และนี่ดีจริงๆแล้วเพราะ คุณเพียงแค่กำหนดเวกเตอร์วาล 146 00:08:29,350 --> 00:08:34,270 และที่ทำงานด้วยตัวเอง 147 00:08:34,270 --> 00:08:37,799 >> ดังนั้นนี่เป็นที่เรียบร้อยแล้วไปจาก single-- ข้อมูลที่ใช้งานง่ายมาก 148 00:08:37,799 --> 00:08:41,070 โครงสร้างของเพียงสองเท่าของ บางประเภทของชนิดเป็นเวกเตอร์ 149 00:08:41,070 --> 00:08:45,670 และที่จะเก็บรวบรวมทั้งหมด ค่าสเกลาร์สำหรับคุณ 150 00:08:45,670 --> 00:08:50,770 ดังนั้นหลังจากที่ไปจากเกลาคุณ มีวัตถุ R และนี่คือเวกเตอร์ 151 00:08:50,770 --> 00:08:55,610 เวกเตอร์เป็นประเภทใด คอลเลกชันของชนิดเดียวกัน 152 00:08:55,610 --> 00:08:58,150 ดังนั้นนี่คือพวงของเวกเตอร์ 153 00:08:58,150 --> 00:08:59,800 >> ดังนั้นนี่คือตัวเลข 154 00:08:59,800 --> 00:09:02,440 ตัวเลขเป็นวิธีที่อาร์พูดว่าคู่ 155 00:09:02,440 --> 00:09:07,390 และอื่น ๆ โดยค่าเริ่มต้นใด ๆ ตัวเลขจะเป็นคู่ 156 00:09:07,390 --> 00:09:13,150 >> ดังนั้นถ้าคุณมีค 1.1, 3, เชิงลบ 5.7, c คือฟังก์ชั่น 157 00:09:13,150 --> 00:09:16,760 นี้เชื่อมทั้งสาม ตัวเลขเป็นเวกเตอร์ 158 00:09:16,760 --> 00:09:19,619 และนี่จะ be-- ดังนั้นหาก คุณสังเกตเห็น 3 ด้วยตัวเอง 159 00:09:19,619 --> 00:09:21,910 ปกติคุณจะถือว่า ที่นี้เป็นเหมือนจำนวนเต็ม 160 00:09:21,910 --> 00:09:25,050 แต่เนื่องจากเวกเตอร์ทั้งหมด เป็นประเภทเดียวกัน 161 00:09:25,050 --> 00:09:28,660 นี้เป็นเวกเตอร์ของคู่ หรือตัวเลขในกรณีนี้ 162 00:09:28,660 --> 00:09:34,920 >> rnorm เป็นฟังก์ชั่นที่สร้าง มาตรฐาน variables-- ปกติ 163 00:09:34,920 --> 00:09:36,700 หรือค่าปกติมาตรฐาน 164 00:09:36,700 --> 00:09:38,360 และฉันระบุสองของพวกเขา 165 00:09:38,360 --> 00:09:43,840 ดังนั้นฉันทำ rnorm 2 กำหนดว่า devs และจากนั้นผมพิมพ์ออก devs 166 00:09:43,840 --> 00:09:47,350 ดังนั้นเหล่านี้เป็นเพียงสอง ค่าปกติแบบสุ่ม 167 00:09:47,350 --> 00:09:50,060 >> และแล้ว ints ถ้าคุณทำ คุณดูแลเกี่ยวกับจำนวนเต็ม 168 00:09:50,060 --> 00:09:54,650 ดังนั้นนี่เป็นเพียงเกี่ยวกับหน่วยความจำ การจัดสรรและการประหยัดขนาดหน่วยความจำ 169 00:09:54,650 --> 00:10:01,460 ดังนั้นคุณจะต้องผนวก หมายเลขของคุณโดยทุนลิตร 170 00:10:01,460 --> 00:10:04,170 >> โดยทั่วไปนี้คือ สัญกรณ์ประวัติศาสตร์อาร์ 171 00:10:04,170 --> 00:10:06,940 สำหรับสิ่งที่เรียกว่าจำนวนเต็มยาว 172 00:10:06,940 --> 00:10:09,880 ดังนั้นเวลาส่วนใหญ่ของคุณจะ จะจัดการกับคู่ผสม 173 00:10:09,880 --> 00:10:15,180 และถ้าคุณเคยจะภายหลัง ในการเพิ่มประสิทธิภาพของรหัสของคุณ 174 00:10:15,180 --> 00:10:18,110 คุณก็สามารถเพิ่มเหล่านี้แอลเอ หลังจากนั้นหรือในระหว่างนั้น 175 00:10:18,110 --> 00:10:22,280 ถ้าคุณต้องการ precognitive เกี่ยวกับสิ่งที่ คุณกำลังจะทำตัวแปรเหล่านี้ 176 00:10:22,280 --> 00:10:25,340 177 00:10:25,340 --> 00:10:26,890 >> ดังนั้นนี่คือเวกเตอร์ของตัวละคร 178 00:10:26,890 --> 00:10:31,440 ดังนั้นอีกครั้งฉันเชื่อมโยง สามสายในเวลานี้ 179 00:10:31,440 --> 00:10:36,230 ขอให้สังเกตว่าสายคู่และ สายเดียวเดียวกันในอาร์ 180 00:10:36,230 --> 00:10:41,000 ดังนั้นผมจึงมีอาเธอร์และมาร์วินและอื่น ๆ เมื่อฉันพิมพ์มันออกมาทั้งหมดของพวกเขา 181 00:10:41,000 --> 00:10:43,210 จะแสดงให้สายสอง 182 00:10:43,210 --> 00:10:45,880 และถ้าคุณยังต้องการที่จะรวมถึง สตริงคู่หรือเตียงเดี่ยว 183 00:10:45,880 --> 00:10:50,070 ในตัวละครของคุณแล้วคุณสามารถ ทั้งสลับสายของคุณ 184 00:10:50,070 --> 00:10:53,540 >> ดังนั้น marvin สำหรับ องค์ประกอบที่สองนี้เป็น 185 00:10:53,540 --> 00:10:56,380 จะ show-- คุณ เพียงแค่มีสายสอง 186 00:10:56,380 --> 00:10:59,050 แล้วสายเดียว ดังนั้นนี้จะสลับกัน 187 00:10:59,050 --> 00:11:04,040 มิฉะนั้นถ้าคุณต้องการใช้คู่ ประกอบสตริงในสตริงคู่ 188 00:11:04,040 --> 00:11:07,090 เมื่อคุณประกาศมันแล้ว คุณเพียงแค่ใช้ประกอบการหลบหนี 189 00:11:07,090 --> 00:11:10,600 ดังนั้นคุณทำเครื่องหมายทับขวาสตริงคู่ 190 00:11:10,600 --> 00:11:13,330 >> และในที่สุดเรายัง มีเวกเตอร์ตรรกะ 191 00:11:13,330 --> 00:11:15,890 ดังนั้น logical-- เพื่อ TRUE และเท็จและพวกเขากำลัง 192 00:11:15,890 --> 00:11:18,880 จะเป็นตัวพิมพ์ใหญ่ทั้งหมด 193 00:11:18,880 --> 00:11:22,370 และจากนั้นอีกครั้งฉันเชื่อมโยง พวกเขาแล้วการกำหนดให้พวกเขา bools 194 00:11:22,370 --> 00:11:24,590 ดังนั้น bools จะแสดง คุณ TRUE, FALSE และ TRUE 195 00:11:24,590 --> 00:11:28,280 196 00:11:28,280 --> 00:11:31,620 >> ดังนั้นนี่คือการจัดทำดัชนี vectorized 197 00:11:31,620 --> 00:11:34,870 ดังนั้นในการเริ่มต้นผม กำลังการฟังก์ชัน 198 00:11:34,870 --> 00:11:39,230 นี้เรียกว่า sequence-- ลำดับที่ 2-12 199 00:11:39,230 --> 00:11:42,490 และผมจะลำดับ 2 200 00:11:42,490 --> 00:11:46,660 ดังนั้นมันจะทำ 2, 4, 6, 8, 10 และ 12 201 00:11:46,660 --> 00:11:50,080 แล้วฉันทำดัชนี เพื่อให้ได้องค์ประกอบที่สาม 202 00:11:50,080 --> 00:11:55,770 >> ดังนั้นสิ่งหนึ่งที่จะเก็บไว้ในใจคือ ที่ดัชนี R โดยเริ่มต้นตั้งแต่วันที่ 1 203 00:11:55,770 --> 00:12:00,550 ดังนั้น Vals 3 เป็นไปเพื่อให้ คุณองค์ประกอบที่สาม 204 00:12:00,550 --> 00:12:04,580 นี้คือการจัดเรียงที่แตกต่างจากคนอื่น ๆ ภาษาที่มันเริ่มต้นจากศูนย์ 205 00:12:04,580 --> 00:12:09,780 ดังนั้นใน C หรือ C ++ เช่นคุณ จะได้รับองค์ประกอบที่สี่ 206 00:12:09,780 --> 00:12:13,280 >> และนี่คือ Vals 3-5 207 00:12:13,280 --> 00:12:16,030 ดังนั้นสิ่งหนึ่งที่เป็น เย็นจริงๆคือคุณ 208 00:12:16,030 --> 00:12:20,410 สามารถสร้างตัวแปรชั่วคราวภายใน แล้วก็ใช้พวกเขาในทันที 209 00:12:20,410 --> 00:12:21,960 ดังนั้นนี่คือ 3-5 210 00:12:21,960 --> 00:12:25,070 ดังนั้นฉันสร้างเวกเตอร์ 3, 4 และ 5 แล้ว 211 00:12:25,070 --> 00:12:29,700 ฉันจะได้รับการจัดทำดัชนีที่สาม สี่และห้าองค์ประกอบ 212 00:12:29,700 --> 00:12:32,280 >> ดังนั้นทำนองเดียวกันคุณสามารถ นามธรรมนี้เพื่อทำ 213 00:12:32,280 --> 00:12:35,280 การเรียงลำดับใด ๆ ของเวกเตอร์ ที่ช่วยให้คุณจัดทำดัชนี 214 00:12:35,280 --> 00:12:40,050 ดังนั้นนี่คือ Vals แล้ว ครั้งแรกที่สามและองค์ประกอบที่หก 215 00:12:40,050 --> 00:12:42,800 แล้วถ้าคุณต้องการ ที่จะทำสมบูรณ์, 216 00:12:42,800 --> 00:12:45,210 ดังนั้นคุณก็ทำลบ และหลังจากนั้นที่จะ 217 00:12:45,210 --> 00:12:48,600 ให้ทุกสิ่งที่ไม่ ครั้งแรกที่สามหรือองค์ประกอบที่หก 218 00:12:48,600 --> 00:12:51,590 ดังนั้นนี้จะเป็น 4, 8 และ 10 219 00:12:51,590 --> 00:12:54,380 >> และถ้าคุณต้องการที่จะได้รับ แม้จะสูงขึ้น 220 00:12:54,380 --> 00:12:57,610 คุณสามารถเชื่อมเวกเตอร์บูลีน 221 00:12:57,610 --> 00:13:05,210 ดังนั้นดัชนีนี้เป็นไปเพื่อให้คุณ นี้เวกเตอร์บูลีนที่มีความยาว 6 222 00:13:05,210 --> 00:13:07,280 ดังนั้นตัวแทนจุลภาค TRUE 3 223 00:13:07,280 --> 00:13:09,680 นี้จะทำซ้ำ TRUE สามครั้ง 224 00:13:09,680 --> 00:13:12,900 ดังนั้นนี้จะให้คุณ เวกเตอร์ TRUE, TRUE, TRUE 225 00:13:12,900 --> 00:13:17,470 >> ตัวแทน FALSE 4-- นี้จะให้คุณ เวกเตอร์ของเท็จเท็จเท็จเท็จ 226 00:13:17,470 --> 00:13:21,280 และแล้วคจะไปเชื่อม ทั้งสอง Booleans กัน 227 00:13:21,280 --> 00:13:24,090 ดังนั้นคุณจะได้รับสาม TRUEs แล้วสี่ falses 228 00:13:24,090 --> 00:13:28,460 >> เพื่อที่ว่าเมื่อคุณดัชนี Vals คุณ จะได้รับ TRUE, TRUE, TRUE 229 00:13:28,460 --> 00:13:31,420 เพื่อที่จะบอกว่าใช่ ฉันต้องการทั้งสามองค์ประกอบ 230 00:13:31,420 --> 00:13:33,520 และแล้วเท็จเท็จ เท็จเท็จที่เกิดขึ้น 231 00:13:33,520 --> 00:13:37,140 จะบอกว่าไม่มีผมไม่ต้องการองค์ประกอบเหล่านั้น ดังนั้นมันจะไม่กลับมา 232 00:13:37,140 --> 00:13:41,490 >> และผมคิดว่ามีจริง typo ที่นี่ เพราะไม่ว่าจะเป็นซ้ำ TRUE 3 233 00:13:41,490 --> 00:13:47,990 และทำซ้ำ FALSE 4 และในทางเทคนิคคุณ มีเพียงหกองค์ประกอบเพื่อให้ทำซ้ำเท็จ 234 00:13:47,990 --> 00:13:50,470 ก็ควรที่จะทำซ้ำ FALSE 3 235 00:13:50,470 --> 00:13:55,260 ผมคิดว่า R คือยังฉลาดพอที่ดังกล่าว ว่าถ้าคุณเพียงแค่ระบุ 4 ที่นี่แล้ว 236 00:13:55,260 --> 00:13:56,630 มันจะไม่ได้ข้อผิดพลาดออก 237 00:13:56,630 --> 00:13:58,480 มันก็จะทำให้คุณมีค่านี้ 238 00:13:58,480 --> 00:14:00,970 ดังนั้นมันก็จะไม่สนใจที่สี่เท็จ 239 00:14:00,970 --> 00:14:05,310 240 00:14:05,310 --> 00:14:09,270 >> ดังนั้นนี่คือการกำหนด vectorized 241 00:14:09,270 --> 00:14:15,480 ดังนั้น set.seed-- นี้เพียงชุด เมล็ดพันธุ์สำหรับตัวเลข pseudorandom 242 00:14:15,480 --> 00:14:20,110 ดังนั้นฉันตั้งเมล็ด 42 ซึ่งหมายความว่าถ้าฉันสร้าง 243 00:14:20,110 --> 00:14:22,950 สามสุ่มปกติ ค่านิยมและแล้วถ้าคุณ 244 00:14:22,950 --> 00:14:27,400 วิ่ง set.seed ด้วยตัวคุณเอง เครื่องคอมพิวเตอร์โดยใช้ค่าเดียวกัน 42, 245 00:14:27,400 --> 00:14:30,990 แล้วคุณยังได้รับ เดียวกันสามปกติแบบสุ่ม 246 00:14:30,990 --> 00:14:33,411 >> ดังนั้นนี่เป็นสิ่งที่ดีจริงๆ สำหรับการทำสำเนา 247 00:14:33,411 --> 00:14:35,910 โดยปกติเมื่อคุณกำลังทำบางอย่าง การเรียงลำดับของการวิเคราะห์ทางวิทยาศาสตร์ 248 00:14:35,910 --> 00:14:37,230 คุณต้องการที่จะตั้งค่าเมล็ดพันธุ์ 249 00:14:37,230 --> 00:14:41,270 วิธีการที่นักวิทยาศาสตร์อื่น ๆ สามารถเพียง ทำซ้ำรหัสเดียวกันแน่นอนคุณได้ 250 00:14:41,270 --> 00:14:44,790 ทำเพราะพวกเขาจะมีที่แน่นอน ตัวแปรสุ่ม that-- เดียวกันหรือแบบสุ่ม 251 00:14:44,790 --> 00:14:47,270 ค่าที่คุณได้นำออกมาได้เป็นอย่างดี 252 00:14:47,270 --> 00:14:49,870 253 00:14:49,870 --> 00:14:53,910 >> และเพื่อให้การกำหนด vectorized ที่นี่มีการแสดง Vals 1-2 254 00:14:53,910 --> 00:14:59,290 ดังนั้นมันจะใช้เวลาสองคนแรกองค์ประกอบ ของ Vals แล้วกำหนดให้พวกเขา 0 255 00:14:59,290 --> 00:15:03,940 แล้วคุณยังสามารถทำ สิ่งที่คล้ายกับ Booleans 256 00:15:03,940 --> 00:15:09,340 >> ดังนั้น Vals ไม่เท่ากับ 0-- นี้จะ ให้คุณ FALSE เวกเตอร์, FALSE, TRUE 257 00:15:09,340 --> 00:15:10,350 ในกรณีนี้ 258 00:15:10,350 --> 00:15:13,770 และจากนั้นก็จะพูดใด ๆ ของดัชนีที่เป็นจริง 259 00:15:13,770 --> 00:15:15,270 จากนั้นก็จะกำหนดว่าถึง 5 260 00:15:15,270 --> 00:15:18,790 ดังนั้นจึงต้องใช้องค์ประกอบที่สาม ที่นี่แล้วมันกำหนดถึง 5 261 00:15:18,790 --> 00:15:22,300 >> และนี่เป็นสิ่งที่ดีจริงๆ เทียบกับภาษาระดับต่ำ 262 00:15:22,300 --> 00:15:25,560 ที่คุณจะต้องใช้สำหรับการลูป ที่จะทำทุกสิ่ง vectorized นี้ 263 00:15:25,560 --> 00:15:30,281 เพราะมันเป็นเพียงแค่การใช้งานง่ายมาก และเป็นหนึ่งเดียวซับ 264 00:15:30,281 --> 00:15:32,030 และสิ่งที่เกี่ยวกับการที่ดี สัญกรณ์ vectorized 265 00:15:32,030 --> 00:15:37,020 คือว่าในการวิจัยเหล่านี้จะเรียงลำดับของ ในตัวเพื่อให้พวกเขาเกือบจะเป็นไปอย่างรวดเร็ว 266 00:15:37,020 --> 00:15:42,490 ที่ทำในภาษาระดับต่ำเป็น เมื่อเทียบกับการทำห่วงในการวิจัย 267 00:15:42,490 --> 00:15:46,317 แล้วต้องให้ทำ การจัดทำดัชนีแบบไดนามิกตัวเอง 268 00:15:46,317 --> 00:15:48,900 และที่ว่าจะช้ากว่าการทำ เรียงลำดับของสิ่ง vectorized นี้ 269 00:15:48,900 --> 00:15:55,950 ที่มันสามารถทำมันได้ในแบบคู่ขนานที่ ก็ทำในเธรดพื้น 270 00:15:55,950 --> 00:15:58,650 >> ดังนั้นนี่คือการดำเนินงาน vectorized 271 00:15:58,650 --> 00:16:04,920 ดังนั้นฉันสร้างมูลค่า 1-3, กำหนดว่าจะ vec1, 3-5, vec2, 272 00:16:04,920 --> 00:16:05,950 การเพิ่มพวกเขาร่วมกัน 273 00:16:05,950 --> 00:16:11,490 พวกเขาจะเพิ่มองค์ประกอบที่ชาญฉลาดเพื่อให้ มันเป็น 1 บวก 3, 2 บวก 4 และอื่น ๆ 274 00:16:11,490 --> 00:16:13,330 >> vec1 ครั้ง vec2 275 00:16:13,330 --> 00:16:16,110 นี้คูณสอง ค่าฉลาดส่วนประกอบ 276 00:16:16,110 --> 00:16:21,830 ดังนั้นจึงเป็นที่ 1 ครั้งที่ 3 ครั้งที่ 2 4 แล้ว 3 ครั้ง 5 277 00:16:21,830 --> 00:16:28,250 >> และแล้วในทำนองเดียวกันคุณยังสามารถทำ เปรียบเทียบตรรกะ comparisons-- 278 00:16:28,250 --> 00:16:33,640 ดังนั้นจึงเป็นเท็จเท็จจริงในเรื่องนี้ เพราะกรณีที่ 1 ไม่เกิน 3 279 00:16:33,640 --> 00:16:35,920 2 ไม่เกิน 4 280 00:16:35,920 --> 00:16:41,160 นี่คือฉันเดาพิมพ์ผิดอีก 3 ไม่แน่นอนมากขึ้นกว่า 5 281 00:16:41,160 --> 00:16:41,660 ใช่ 282 00:16:41,660 --> 00:16:45,770 และเพื่อให้คุณก็สามารถทำทุกอย่าง เหล่านี้การดำเนินงานที่เรียบง่าย 283 00:16:45,770 --> 00:16:48,350 เพราะได้รับมรดกของพวกเขา จากชั้นเรียนของตัวเอง 284 00:16:48,350 --> 00:16:51,110 285 00:16:51,110 --> 00:16:52,580 >> เพื่อให้เป็นเพียงแค่เวกเตอร์ 286 00:16:52,580 --> 00:16:56,530 และนั่นคือการจัดเรียงของพื้นฐานที่สุด วัตถุ R เพราะได้รับเวกเตอร์ 287 00:16:56,530 --> 00:16:59,170 คุณสามารถสร้างวัตถุที่สูงขึ้น 288 00:16:59,170 --> 00:17:00,560 >> ดังนั้นนี่คือเมทริกซ์ 289 00:17:00,560 --> 00:17:05,030 นี้เป็นหลักที่เป็นนามธรรม ของสิ่งที่เมทริกซ์เป็นตัวเอง 290 00:17:05,030 --> 00:17:10,099 ดังนั้นในกรณีนี้ก็แตกต่างกันสาม เวกเตอร์ที่แต่ละคนเป็นคอลัมน์ 291 00:17:10,099 --> 00:17:12,710 หรือคุณสามารถพิจารณามัน เป็นหนึ่งในแต่ละแถว 292 00:17:12,710 --> 00:17:18,250 >> ดังนั้นฉันเก็บเมทริกซ์จาก 1 ถึง 9 และจากนั้นฉันระบุ 3 แถว 293 00:17:18,250 --> 00:17:23,364 ดังนั้น 1-9 จะให้เวกเตอร์ที่ 1, 2, 3, 4, 5, 6, และทุกวิธีการที่ 9 294 00:17:23,364 --> 00:17:29,250 >> สิ่งหนึ่งที่ยังเก็บไว้ในใจก็คือว่า R ค่าร้านค้าในรูปแบบคอลัมน์ที่สำคัญ 295 00:17:29,250 --> 00:17:34,160 ดังนั้นในคำอื่น ๆ เมื่อคุณเห็น 1 ถึง 9 ก็จะเก็บ them-- 296 00:17:34,160 --> 00:17:36,370 มันเป็นไปได้ที่ 1, 2, 3 ในคอลัมน์แรก 297 00:17:36,370 --> 00:17:38,510 และจากนั้นก็จะทำ 4, 5, 6 ในคอลัมน์ที่สอง 298 00:17:38,510 --> 00:17:41,440 แล้ว 7, 8, 9 ในคอลัมน์ที่สาม 299 00:17:41,440 --> 00:17:45,570 >> และนี่คือบางส่วนอื่น ๆ การทำงานร่วมกันที่คุณสามารถใช้ 300 00:17:45,570 --> 00:17:49,650 ดังนั้นเสื่อสลัวนี้จะให้คุณ ขนาดของเมทริกซ์ 301 00:17:49,650 --> 00:17:52,620 มันจะกลับมาที่คุณ เวกเตอร์ของมิติ 302 00:17:52,620 --> 00:17:55,580 ดังนั้นในกรณีนี้เพราะ เมทริกซ์ของเราคือ 3 จาก 3 303 00:17:55,580 --> 00:18:01,900 มันจะทำให้คุณ เวกเตอร์ที่เป็นตัวเลขที่ 3 3 304 00:18:01,900 --> 00:18:05,270 >> และนี่ก็เป็นเพียงการแสดง คูณเมทริกซ์ 305 00:18:05,270 --> 00:18:11,970 ดังนั้นโดยปกติถ้าคุณเพียงแค่ทำ asterisk-- เพื่อเสื่อดอกจัน mat-- 306 00:18:11,970 --> 00:18:15,380 นี้เป็นไปได้ การดำเนินงานองค์ประกอบที่ชาญฉลาด 307 00:18:15,380 --> 00:18:17,300 หรือสิ่งที่เรียกว่าผลิตภัณฑ์ Hadamard 308 00:18:17,300 --> 00:18:21,310 ดังนั้นมันจะทำในแต่ละ องค์ประกอบองค์ประกอบฉลาด 309 00:18:21,310 --> 00:18:23,610 แต่ถ้าคุณต้องการ เมทริกซ์ multiplication-- 310 00:18:23,610 --> 00:18:29,380 ดังนั้นการคูณครั้งแถวแรก คอลัมน์แรกเมทริกซ์ที่สองของ 311 00:18:29,380 --> 00:18:34,510 และเพื่อให้ on-- ที่คุณจะใช้ การดำเนินงานร้อยละนี้ 312 00:18:34,510 --> 00:18:38,110 >> และเสื้อของเสื่อเป็นเพียง การดำเนินงานไขว้ 313 00:18:38,110 --> 00:18:42,590 ดังนั้นฉันพูดใช้ไขว้ใน เมทริกซ์, คูณด้วยเมทริกซ์ 314 00:18:42,590 --> 00:18:43,090 ตัวเอง 315 00:18:43,090 --> 00:18:45,006 และจากนั้นก็จะ กลับไปยังคุณอีก 3 316 00:18:45,006 --> 00:18:50,700 3 แสดงเมทริกซ์ ผลิตภัณฑ์ที่คุณต้องการ 317 00:18:50,700 --> 00:18:53,750 >> และเพื่อให้เป็นเมทริกซ์ 318 00:18:53,750 --> 00:18:56,020 นี่คือสิ่งที่เรียกว่ากรอบข้อมูล 319 00:18:56,020 --> 00:19:00,780 กรอบข้อมูลที่คุณสามารถคิดเป็น เมทริกซ์ แต่แต่ละคอลัมน์ตัวเอง 320 00:19:00,780 --> 00:19:02,990 เป็นไปได้ของรูปแบบที่แตกต่างกัน 321 00:19:02,990 --> 00:19:07,320 >> ดังนั้นสิ่งที่ยอดเยี่ยมเกี่ยวกับข้อมูลจริงๆ เฟรมที่อยู่ในการวิเคราะห์ข้อมูลของตัวเอง 322 00:19:07,320 --> 00:19:11,260 คุณกำลังจะมีทั้งหมดนี้ ข้อมูลต่างกันและสิ่งเหล่านี้จริงๆ 323 00:19:11,260 --> 00:19:15,640 สิ่งที่ยุ่งที่แต่ละคอลัมน์ ตัวเองสามารถที่แตกต่างกัน 324 00:19:15,640 --> 00:19:21,460 ดังนั้นที่นี่ฉันพูดสร้าง กรอบข้อมูลทำ ints 1-3, 325 00:19:21,460 --> 00:19:24,750 แล้วยังมีเวกเตอร์ของตัวละคร 326 00:19:24,750 --> 00:19:28,470 ดังนั้นผมจึงสามารถจัดทำดัชนีผ่าน แต่ละคอลัมน์เหล่านี้ 327 00:19:28,470 --> 00:19:30,930 แล้วฉันจะได้รับค่าตัวเอง 328 00:19:30,930 --> 00:19:34,370 และคุณยังสามารถทำอะไรบางอย่าง ของการดำเนินงานในเฟรมข้อมูล 329 00:19:34,370 --> 00:19:38,040 และส่วนใหญ่ของเวลาเมื่อคุณอยู่ ทำการวิเคราะห์ข้อมูลหรือการจัดเรียงบาง 330 00:19:38,040 --> 00:19:42,042 preprocessing ของคุณจะ การทำงานร่วมกับโครงสร้างข้อมูลเหล่านี้ 331 00:19:42,042 --> 00:19:44,250 ที่แต่ละคอลัมน์จะ จะเป็นชนิดที่แตกต่างกัน 332 00:19:44,250 --> 00:19:47,880 333 00:19:47,880 --> 00:19:52,970 >> จึงพอสรุปเหล่านี้เป็นหลักเพียง สี่วัตถุสำคัญในรายชื่ออาร์ 334 00:19:52,970 --> 00:19:55,820 เพียงแค่จะเก็บใด ๆ วัตถุอื่น ๆ ที่คุณต้องการ 335 00:19:55,820 --> 00:20:00,130 ดังนั้นมันจะเก็บเรื่องนี้เป็นหนึ่งใน ตัวแปรที่คุณสามารถเข้าถึงได้อย่างง่ายดาย 336 00:20:00,130 --> 00:20:02,370 >> ดังนั้นที่นี่ฉันสละรายการ 337 00:20:02,370 --> 00:20:04,460 สิ่งที่ฉันพูดเท่ากับ 3 338 00:20:04,460 --> 00:20:08,060 ดังนั้นฉันจะมีองค์ประกอบหนึ่งใน รายการและนี้เรียกว่าสิ่งที่ 339 00:20:08,060 --> 00:20:10,570 และมันจะมีค่า 3 340 00:20:10,570 --> 00:20:13,140 >> ฉันยังสามารถสร้างเมทริกซ์ 341 00:20:13,140 --> 00:20:17,970 ดังนั้นนี่คือ 1-4 และท้ายแถว เท่ากับ 2 ดังนั้น 2 คูณ 2 เมทริกซ์ 342 00:20:17,970 --> 00:20:20,270 นอกจากนี้ในรายการและก็เรียกว่าเสื่อ 343 00:20:20,270 --> 00:20:24,690 moreStuff สตริงตัวอักษร และแม้กระทั่งรายการอื่นในตัวเอง 344 00:20:24,690 --> 00:20:27,710 >> ดังนั้นนี่คือรายการที่ 5 และหมี 345 00:20:27,710 --> 00:20:30,990 ดังนั้นมันจึงมีค่า 5 และมัน มีตัวละครหมีสตริง 346 00:20:30,990 --> 00:20:32,710 และเป็นรายการภายในรายการ 347 00:20:32,710 --> 00:20:35,965 ดังนั้นคุณจึงสามารถมีเหล่านี้ สิ่งที่เรียกซ้ำ 348 00:20:35,965 --> 00:20:38,230 คุณมี another-- พิมพ์ภายในชนิด 349 00:20:38,230 --> 00:20:41,420 ดังนั้นในทำนองเดียวกันคุณสามารถมีเมทริกซ์ ภายในเมทริกซ์อีกและอื่น ๆ 350 00:20:41,420 --> 00:20:44,264 และรายการเป็นเพียงวิธีที่ดี ของการเก็บรวบรวมและการรวมกัน 351 00:20:44,264 --> 00:20:45,430 ทั้งหมดเหล่านี้วัตถุที่แตกต่าง 352 00:20:45,430 --> 00:20:50,210 353 00:20:50,210 --> 00:20:57,150 >> และในที่สุดที่นี่เป็นเพียงการช่วยในกรณี นี้ก็หายไปเพียงอย่างรวดเร็ว 354 00:20:57,150 --> 00:21:01,350 ดังนั้นเวลาที่คุณกำลังสับสน เกี่ยวกับการจัดเรียงของฟังก์ชั่นบางอย่าง 355 00:21:01,350 --> 00:21:03,510 คุณสามารถทำความช่วยเหลือของฟังก์ชั่นที่ 356 00:21:03,510 --> 00:21:07,120 ดังนั้นคุณจึงสามารถจะช่วยเมทริกซ์ หรือเมทริกซ์เครื่องหมายคำถาม 357 00:21:07,120 --> 00:21:11,430 และความช่วยเหลือและเครื่องหมายคำถามอยู่ เพียงแค่จดชวเลขสำหรับสิ่งเดียวกัน 358 00:21:11,430 --> 00:21:13,040 เพื่อให้พวกเขาแทน 359 00:21:13,040 --> 00:21:16,820 >> LM เป็นฟังก์ชั่นที่ ไม่เพียงแค่รูปแบบเชิงเส้น 360 00:21:16,820 --> 00:21:20,340 แต่ถ้าคุณมีความคิดว่า ผลงานคุณก็สามารถทำความช่วยเหลือของ LM 361 00:21:20,340 --> 00:21:24,610 และบอกว่าจะให้คุณบาง การเรียงลำดับของเอกสารที่ 362 00:21:24,610 --> 00:21:27,960 มีลักษณะเหมือนกับ หน้าคนในยูนิกซ์ที่ 363 00:21:27,960 --> 00:21:34,210 คุณมีคำอธิบายสั้น ๆ ของสิ่งที่ มันไม่ยังมีสิ่งที่อาร์กิวเมนต์เป็น 364 00:21:34,210 --> 00:21:38,850 สิ่งที่มันกลับมาและเพียงแค่เคล็ดลับในการ ที่จะใช้มันและตัวอย่างบางส่วนเช่นกัน 365 00:21:38,850 --> 00:21:41,680 366 00:21:41,680 --> 00:21:52,890 >> เพื่อให้ฉันไปข้างหน้าและการแสดง การสาธิตการใช้อาร์ตกลงบางอย่าง 367 00:21:52,890 --> 00:21:55,470 ดังนั้นผมจึงเดินไปมาก ได้อย่างรวดเร็วเพียงแค่ข้อมูล 368 00:21:55,470 --> 00:21:59,440 โครงสร้างและการจัดเรียงของบางอย่าง op-- บางส่วนของการดำเนินงาน 369 00:21:59,440 --> 00:22:02,960 นี่คือการทำงานบางอย่าง 370 00:22:02,960 --> 00:22:06,750 >> ดังนั้นที่นี่ฉันแค่ไป เพื่อกำหนดฟังก์ชั่น 371 00:22:06,750 --> 00:22:09,970 ดังนั้นฉันยังมีการใช้ ผู้ประกอบการที่ได้รับมอบหมายที่นี่ 372 00:22:09,970 --> 00:22:12,610 แล้วที่ฉันพูด ประกาศว่ามันเป็นฟังก์ชั่น 373 00:22:12,610 --> 00:22:14,140 และจะใช้เวลาค่า x 374 00:22:14,140 --> 00:22:18,210 ดังนั้นนี่คือค่าใด ๆ ที่คุณต้องการ และฉันจะกลับ x ตัวเอง 375 00:22:18,210 --> 00:22:20,840 ดังนั้นนี่คือการทำงานของตัวตน 376 00:22:20,840 --> 00:22:23,670 >> และสิ่งที่เย็นเกี่ยวกับเรื่องนี้ เมื่อเทียบกับภาษาอื่น ๆ 377 00:22:23,670 --> 00:22:26,330 และอีกระดับต่ำ ภาษาคือ x 378 00:22:26,330 --> 00:22:29,350 สามารถเป็นชนิดใด ๆ ของตัวเอง และมันจะกลับมาแบบนั้น 379 00:22:29,350 --> 00:22:35,251 ดังนั้นคุณจึงสามารถ imagine-- เพื่อให้ ผมทำงานนี้ได้อย่างรวดเร็ว 380 00:22:35,251 --> 00:22:35,750 ขอโทษ 381 00:22:35,750 --> 00:22:40,300 >> ดังนั้นสิ่งหนึ่งที่ฉันควรพูดถึง คือการที่แก้ไขนี้ผมใช้ 382 00:22:40,300 --> 00:22:41,380 เรียกว่า rstudio 383 00:22:41,380 --> 00:22:44,389 นี้คือสิ่งที่เรียกว่า IDE 384 00:22:44,389 --> 00:22:46,180 และสิ่งหนึ่งที่ ดีจริงๆเกี่ยวกับเรื่องนี้ 385 00:22:46,180 --> 00:22:51,500 คือว่ามันรวมเอาจำนวนมาก สิ่งที่คุณต้องการจะทำในการวิจัยด้วยตัวเอง 386 00:22:51,500 --> 00:22:53,180 เพียงแค่สังหรณ์ใจมาก 387 00:22:53,180 --> 00:22:55,550 >> ดังนั้นนี่คือคอนโซลล่าม 388 00:22:55,550 --> 00:23:02,160 ดังนั้นในทำนองเดียวกันคุณยังสามารถได้รับนี้ คอนโซลดิบเพียงด้วยการทำทุนอาร์ 389 00:23:02,160 --> 00:23:05,630 และนี่คือว่า สิ่งเดียวกับคอนโซล 390 00:23:05,630 --> 00:23:12,210 ดังนั้นผมก็สามารถทำฟังก์ชั่น id x, x, x 391 00:23:12,210 --> 00:23:16,130 และ then-- แล้วว่า จะปรับตัวเอง 392 00:23:16,130 --> 00:23:19,200 393 00:23:19,200 --> 00:23:21,740 >> rstudio ดังนั้นที่ดี เพราะมันมีคอนโซล 394 00:23:21,740 --> 00:23:25,360 นอกจากนี้ยังมีเอกสาร คุณต้องการที่จะทำงานใน 395 00:23:25,360 --> 00:23:28,629 แล้วมันมีตัวแปรบาง ที่คุณสามารถมองเห็นในสภาพแวดล้อม 396 00:23:28,629 --> 00:23:30,420 แล้วถ้าคุณมี ที่จะทำแปลงแล้วคุณ 397 00:23:30,420 --> 00:23:33,730 ก็สามารถดูได้ที่นี่เมื่อเทียบกับ การจัดการหน้าต่างที่แตกต่างกันเหล่านี้ 398 00:23:33,730 --> 00:23:35,940 ด้วยตัวเอง 399 00:23:35,940 --> 00:23:40,530 >> ที่จริงผมใช้บุคคลที่เป็นกลุ่ม แต่ฉัน รู้สึกเหมือน rstudio เป็นเลิศเพียง 400 00:23:40,530 --> 00:23:44,640 สำหรับการรับความคิดที่ดี ของวิธีการใช้อาร์ปกติ 401 00:23:44,640 --> 00:23:47,040 เมื่อคุณกำลังพยายามที่จะ เรียนรู้บางงานใหม่ 402 00:23:47,040 --> 00:23:49,590 คุณไม่ต้องการที่จะจัดการกับ สิ่งที่มากเกินไปในครั้งเดียว 403 00:23:49,590 --> 00:23:53,120 ดังนั้น R เป็นเพียง rstudio very-- เป็นวิธีที่ดีมากของการเรียนรู้ R 404 00:23:53,120 --> 00:23:56,760 โดยไม่ต้องมีการจัดการกับ ทุกสิ่งอื่น ๆ เหล่านี้ 405 00:23:56,760 --> 00:23:58,600 >> ดังนั้นที่นี่ฉันกำลังทำงาน id สวัสดี 406 00:23:58,600 --> 00:24:00,090 ผลตอบแทนที่ได้นี้สวัสดี 407 00:24:00,090 --> 00:24:01,740 id 123 408 00:24:01,740 --> 00:24:04,610 นี่คือเวกเตอร์ของจำนวนเต็มคือ 409 00:24:04,610 --> 00:24:08,620 ดังนั้นในทำนองเดียวกันเพราะคุณสามารถ ใช้การเรียงลำดับใด ๆ บางส่วนของมูลค่า 410 00:24:08,620 --> 00:24:16,060 คุณสามารถทำกลับ id ของ x เพื่อให้มันกลับ 1234 และ 5 411 00:24:16,060 --> 00:24:22,210 >> และแจ้งให้เราเพียงแค่แสดงให้คุณเห็นว่า นี่เป็นจำนวนเต็ม 412 00:24:22,210 --> 00:24:28,800 และในทำนองเดียวกันถ้าคุณทำชั้น id x, มันจะเป็นจำนวนเต็ม 413 00:24:28,800 --> 00:24:34,170 แล้วคุณยังสามารถ เปรียบเทียบทั้งสองและมันเป็นความจริง 414 00:24:34,170 --> 00:24:38,350 ดังนั้นฉันตรวจสอบหาก id ของ x เท่ากับเท่ากับ x และแจ้งให้ทราบล่วงหน้า 415 00:24:38,350 --> 00:24:39,760 ว่ามันจะช่วยให้คุณสอง TRUEs 416 00:24:39,760 --> 00:24:44,280 ดังนั้นนี้ไม่ได้บอกว่าเป็น วัตถุทั้งสองเหมือนกัน 417 00:24:44,280 --> 00:24:46,845 แต่แต่ละรายการ ภายในเวกเตอร์เหมือนกัน 418 00:24:46,845 --> 00:24:50,000 419 00:24:50,000 --> 00:24:52,090 >> นี่คือ bounded.compare 420 00:24:52,090 --> 00:24:58,470 ดังนั้นนี่คือซับซ้อนกว่าเล็กน้อย ในการที่จะมีถ้าเงื่อนไขและอื่น ๆ 421 00:24:58,470 --> 00:25:00,960 และจากนั้นก็จะใช้เวลาสอง ข้อโต้แย้งในเวลา 422 00:25:00,960 --> 00:25:02,640 ดังนั้น x เป็นประเภทใด 423 00:25:02,640 --> 00:25:06,280 และฉันก็พูดอย่างนี้ อาร์กิวเมนต์ที่สองคือ 424 00:25:06,280 --> 00:25:08,380 นี้สามารถเป็นอะไรก็ได้เช่นกัน 425 00:25:08,380 --> 00:25:12,490 แต่โดยปกติก็จะใช้เวลา 5 ถ้าคุณไม่ได้ระบุอะไร 426 00:25:12,490 --> 00:25:16,730 >> ดังนั้นที่นี่ฉันจะบอกว่า ถ้า x มากกว่า 427 00:25:16,730 --> 00:25:19,220 ดังนั้นถ้าฉันไม่ได้ระบุมัน กล่าวว่าถ้า x มากกว่า 5 428 00:25:19,220 --> 00:25:20,470 แล้วฉันจะกลับ TRUE 429 00:25:20,470 --> 00:25:23,230 อื่นฉันจะกลับเท็จ 430 00:25:23,230 --> 00:25:24,870 เพื่อให้ฉันไปข้างหน้าและกำหนดนี้ 431 00:25:24,870 --> 00:25:30,600 432 00:25:30,600 --> 00:25:34,550 >> และตอนนี้ฉันกำลังจะไป ทำงาน bounded.compare 3 433 00:25:34,550 --> 00:25:39,150 ดังนั้นจึงกล่าวว่าเป็นที่ 3 น้อย than-- 3 สูงกว่า 5 434 00:25:39,150 --> 00:25:41,830 ไม่มีก็ไม่ได้ FALSE 435 00:25:41,830 --> 00:25:46,550 >> และ bounded.compare 3 และฉันจะ เพื่อเปรียบเทียบโดยใช้เท่ากับ 2 436 00:25:46,550 --> 00:25:50,700 ดังนั้นตอนนี้ฉันพูดใช่ตอนนี้ฉัน ต้องการที่จะเป็นอย่างอื่น 437 00:25:50,700 --> 00:25:52,750 ดังนั้นฉันจะบอกว่าคุณควรจะ 2 438 00:25:52,750 --> 00:25:56,640 >> ฉันสามารถจะทำเรียงลำดับของการนี​​้ สัญกรณ์หรือผมบอกว่าเท่ากับ 2 439 00:25:56,640 --> 00:25:58,720 นี่คือการอ่านได้มากขึ้น ในการที่เมื่อคุณอยู่ 440 00:25:58,720 --> 00:26:01,450 มองไปที่เหล่านี้จริงๆ ฟังก์ชั่นที่ซับซ้อนที่ 441 00:26:01,450 --> 00:26:08,110 ใช้เวลาหลาย arguments-- นี้ สามารถนับสิบ oftentimes-- แค่บอก 442 00:26:08,110 --> 00:26:11,140 เท่ากับ 2 สามารถอ่านได้มากขึ้นสำหรับ เพื่อให้คุณในภายหลังในอนาคต 443 00:26:11,140 --> 00:26:13,020 คุณจะรู้ว่าสิ่งที่คุณทำ 444 00:26:13,020 --> 00:26:17,120 >> ดังนั้นในกรณีนี้ผม คำกล่าวที่ว่าคือ 3 มากกว่า 2 445 00:26:17,120 --> 00:26:18,270 ใช่มันเป็น 446 00:26:18,270 --> 00:26:22,350 และในทำนองเดียวกันผมก็สามารถลบ นี้และกล่าวว่าเป็น 3 มากกว่า 2 447 00:26:22,350 --> 00:26:23,440 ซึ่งเท่ากับ 2 448 00:26:23,440 --> 00:26:26,230 และที่ยังเป็นจริง 449 00:26:26,230 --> 00:26:26,730 ใช่? 450 00:26:26,730 --> 00:26:29,670 >> ผู้ชม: คุณ ดำเนินการทีละบรรทัด? 451 00:26:29,670 --> 00:26:30,670 >> DUSTIN TRAN: ใช่ผม 452 00:26:30,670 --> 00:26:33,900 ดังนั้นสิ่งที่ฉันทำที่นี่ การข้อความนี้ document-- 453 00:26:33,900 --> 00:26:39,825 และสิ่งที่ดีเกี่ยวกับ rstudio คือ ฉันเพียงแค่สามารถทำงาน short-- คีย์ลัด 454 00:26:39,825 --> 00:26:41,820 ดังนั้นฉันทำควบคุมใส่ 455 00:26:41,820 --> 00:26:44,850 >> แล้วฉันสละ บรรทัดในเอกสารข้อความ 456 00:26:44,850 --> 00:26:46,710 แล้ววางในคอนโซล 457 00:26:46,710 --> 00:26:50,800 ดังนั้นที่นี่ฉันพูด, bounded.compare และที่ฉันทำควบคุม-X 458 00:26:50,800 --> 00:26:52,540 ดังนั้นผมก็สามารถจะเรียกที่นี่เช่นกัน 459 00:26:52,540 --> 00:26:54,920 และแล้วที่จะนำ สายแล้ววางไว้ที่นี่ 460 00:26:54,920 --> 00:26:57,900 และแล้วในทำนองเดียวกันผมสามารถจะเรียกที่นี่ 461 00:26:57,900 --> 00:27:04,630 และแล้วมันก็จะช่วยให้การกำหนด สายเข้าไปในคอนโซลเช่นนั้น 462 00:27:04,630 --> 00:27:10,690 >> และถ้าคุณสังเกตเห็นหยิก การจัดฟันจะมีเช่นเดียวกับในไวยากรณ์ C 463 00:27:10,690 --> 00:27:13,910 ค่า x ถ้าหากสภาพยังเป็น จะใช้วงเล็บแล้ว 464 00:27:13,910 --> 00:27:15,350 คุณสามารถใช้อื่น 465 00:27:15,350 --> 00:27:17,496 อีกคนหนึ่งเป็นอื่นถ้า 466 00:27:17,496 --> 00:27:21,440 ดังนั้นนี่เป็นไปได้ x เท่ากับเท่ากับตัวอย่างเช่น 467 00:27:21,440 --> 00:27:24,190 468 00:27:24,190 --> 00:27:26,350 และจากนั้นผมกำลังจะไป กลับบางสิ่งบางอย่างที่นี่ 469 00:27:26,350 --> 00:27:29,490 >> ขอให้สังเกตว่ามีสองที่แตกต่างกัน สิ่งที่นี่ที่เกิดขึ้น 470 00:27:29,490 --> 00:27:34,360 หนึ่งคือการที่นี่ฉันระบุ กลับค่า TRUE 471 00:27:34,360 --> 00:27:35,950 นี่ฉันแค่บอก x 472 00:27:35,950 --> 00:27:39,970 ดังนั้น R จะมักจะตามค่าเริ่มต้น ใช้ arguments-- ล่าสุด 473 00:27:39,970 --> 00:27:43,510 หรือใช้บรรทัดสุดท้ายของรหัส และนั่นจะเป็นสิ่งที่มันกลับมา 474 00:27:43,510 --> 00:27:46,920 ดังนั้นที่นี่เหมือนกัน สิ่งที่ทำผลตอบแทน x 475 00:27:46,920 --> 00:27:49,450 476 00:27:49,450 --> 00:27:50,540 >> และเพียงเพื่อแสดงให้คุณเห็น 477 00:27:50,540 --> 00:27:54,000 478 00:27:54,000 --> 00:27:57,052 และจากนั้นก็จะทำงานเช่นเดียวกับที่ 479 00:27:57,052 --> 00:27:58,260 เพื่อให้ฉันยังคงมีนี้ 480 00:27:58,260 --> 00:28:00,630 >> ดังนั้นถ้าอื่น 481 00:28:00,630 --> 00:28:04,060 และจริงๆผมสามารถกลับ อะไรที่ฉันต้องการ 482 00:28:04,060 --> 00:28:06,680 ดังนั้นผมจึงไม่ได้มีการ ผลตอบแทน Booleans ตลอดเวลา 483 00:28:06,680 --> 00:28:08,410 ฉันเพียงแค่สามารถกลับอย่างอื่น 484 00:28:08,410 --> 00:28:10,670 ดังนั้นผมจึงสามารถทำหมีกลับมา 485 00:28:10,670 --> 00:28:12,989 >> ดังนั้นหาก x เท่ากับเท่ากับ, มันจะกลับหมี 486 00:28:12,989 --> 00:28:14,530 มิฉะนั้นก็จะกลับ TRUE 487 00:28:14,530 --> 00:28:19,310 ฉันยังสามารถทำเวกเตอร์ หรืออะไรจริงๆ 488 00:28:19,310 --> 00:28:22,210 >> และตามปกติในแบบคงที่ ภาษาพิมพ์, 489 00:28:22,210 --> 00:28:23,840 คุณจะต้องระบุประเภทที่นี่ 490 00:28:23,840 --> 00:28:25,750 และแจ้งให้ทราบว่ามันก็สามารถเป็นอะไรก็ได้ 491 00:28:25,750 --> 00:28:32,400 และ R คือฉลาดพอที่จะ ก็จะทำเช่นนี้และมันจะทำงานได้ดี 492 00:28:32,400 --> 00:28:33,620 >> เพื่อให้ฉันกำหนดนี้ 493 00:28:33,620 --> 00:28:39,460 494 00:28:39,460 --> 00:28:41,230 Unexpected-- โอ้ขอโทษ 495 00:28:41,230 --> 00:28:44,336 มันควรจะเป็นวงเล็บปีกกาที่นี่ 496 00:28:44,336 --> 00:28:44,836 ตกลง 497 00:28:44,836 --> 00:28:45,336 เย็น 498 00:28:45,336 --> 00:28:52,580 499 00:28:52,580 --> 00:28:54,530 สิทธิ์ทั้งหมด 500 00:28:54,530 --> 00:28:58,250 ดังนั้นตอนนี้เราลองมาเปรียบเทียบและ 3 เท่ากับ 3 501 00:28:58,250 --> 00:29:01,860 ดังนั้นจึงควร return-- yeah-- หมีค่า 502 00:29:01,860 --> 00:29:06,740 >> ดังนั้นตอนนี้สิ่งที่ทั่วไปมากขึ้นเป็นเหมือน สิ่งที่เกี่ยวกับโครงสร้างข้อมูลอื่น ๆ 503 00:29:06,740 --> 00:29:09,110 เพื่อให้คุณมีฟังก์ชั่นนี้ 504 00:29:09,110 --> 00:29:15,360 นี้จะไปทำงานในการจัดเรียงใด ๆ ของมูลค่าเช่น 3 หรือตัวเลขใด ๆ 505 00:29:15,360 --> 00:29:17,500 ในคำอื่น ๆ คู่ 506 00:29:17,500 --> 00:29:19,330 >> แต่สิ่งที่เกี่ยวกับสิ่งที่ต้องการเวกเตอร์ 507 00:29:19,330 --> 00:29:27,750 ดังนั้นสิ่งที่เกิดขึ้นถ้าคุณ do-- ดังนั้นฉัน จะกำหนด Val เพื่อพูด, 4-6 508 00:29:27,750 --> 00:29:31,640 ดังนั้นถ้าผมกลับมาที่นี้ เป็นเวกเตอร์จาก 4, 5, 6 509 00:29:31,640 --> 00:29:34,935 >> ตอนนี้ขอดูสิ่งที่เกิดขึ้น ถ้าฉันไม่ bounded.compare Val 510 00:29:34,935 --> 00:29:37,680 511 00:29:37,680 --> 00:29:42,450 ดังนั้นนี้จะให้คุณ 15 1251 512 00:29:42,450 --> 00:29:46,440 ดังนั้นในคำอื่น ๆ ก็บอกว่า หากดูสภาพนี้ 513 00:29:46,440 --> 00:29:50,040 ดังนั้นจึงกล่าวว่า x น้อย กว่าหรือบางสิ่งบางอย่าง 514 00:29:50,040 --> 00:29:51,880 ดังนั้นนี่คือเล็กน้อย ทำให้เกิดความสับสนเพราะตอนนี้ 515 00:29:51,880 --> 00:29:53,379 คุณก็ไม่ทราบว่าสิ่งที่เกิดขึ้น 516 00:29:53,379 --> 00:29:58,690 ดังนั้นผมคิดว่าสิ่งหนึ่งที่จริงๆ ที่ดีเกี่ยวกับเพียงแค่พยายามที่จะแก้ปัญหา 517 00:29:58,690 --> 00:30:04,600 คือการที่คุณก็สามารถทำ Val เป็นมากขึ้น กว่าและดูสิ่งที่เกิดขึ้นที่นั่น 518 00:30:04,600 --> 00:30:09,720 >> ดังนั้น val-- คือการเริ่มต้น 5 ดังนั้น ขอเพียงแค่ไม่ Val มากกว่า 5 519 00:30:09,720 --> 00:30:14,280 ดังนั้นนี่คือเวกเตอร์เท็จเท็จ TRUE 520 00:30:14,280 --> 00:30:17,206 ดังนั้นตอนนี้เมื่อคุณกำลังมองหาที่ นี้ก็จะบอกว่าถ้า 521 00:30:17,206 --> 00:30:20,080 และจากนั้นก็จะให้คุณนี้ เป็นเวกเตอร์ของเท็จเท็จ TRUE 522 00:30:20,080 --> 00:30:23,450 >> ดังนั้นเมื่อคุณผ่านนี้เป็น R, R มีความคิดสิ่งที่คุณทำไม่มี 523 00:30:23,450 --> 00:30:26,650 เพราะคาดว่าหนึ่งเดียว ค่าซึ่งเป็นบูลีนและตอนนี้ 524 00:30:26,650 --> 00:30:29,420 คุณกำลังให้มันเวกเตอร์ของ Booleans 525 00:30:29,420 --> 00:30:31,970 ดังนั้นโดยเริ่มต้นงานวิจัยเป็นเพียง จะพูดห่า, 526 00:30:31,970 --> 00:30:35,440 ฉันจะคิดว่าคุณ จะใช้องค์ประกอบแรกที่นี่ 527 00:30:35,440 --> 00:30:38,320 ดังนั้นฉันจะ say-- ฉันจะ ที่จะคิดว่านี้เป็นเท็จ 528 00:30:38,320 --> 00:30:40,890 ดังนั้นมันจะบอกว่า ไม่มีนี้ไม่ถูกต้อง 529 00:30:40,890 --> 00:30:45,246 >> ในทำนองเดียวกันก็จะ เป็น Val เท่ากับเท่ากับ 530 00:30:45,246 --> 00:30:47,244 ไม่เสียใจที่ 5 531 00:30:47,244 --> 00:30:48,910 และก็ยังจะเป็นเท็จเช่นกัน 532 00:30:48,910 --> 00:30:52,410 ดังนั้นมันจะบอกว่าไม่มี มันไม่เป็นความจริงเช่นกันดังนั้นจึงเป็นเรื่อง 533 00:30:52,410 --> 00:30:53,680 จะกลับมานี้สุดท้าย 534 00:30:53,680 --> 00:30:56,420 535 00:30:56,420 --> 00:31:01,360 >> ดังนั้นนี้เป็นอย่างใดอย่างหนึ่งเป็นสิ่งที่ดีหรือไม่ดี สิ่งที่ขึ้นอยู่กับวิธีการที่คุณดู 536 00:31:01,360 --> 00:31:05,104 เพราะเมื่อคุณอยู่ การสร้างฟังก์ชั่นเหล่านี้ 537 00:31:05,104 --> 00:31:06,770 คุณไม่ได้รู้จริงสิ่งที่เกิดขึ้น 538 00:31:06,770 --> 00:31:10,210 ดังนั้นบางครั้งคุณต้องการข้อผิดพลาด หรือบางทีคุณอาจต้องการเพียงแค่การเตือน 539 00:31:10,210 --> 00:31:12,160 ในกรณีนี้ R ไม่ได้ทำอย่างนั้น 540 00:31:12,160 --> 00:31:14,300 ดังนั้นจึงเป็นจริงขึ้นอยู่กับ คุณตามออกของสิ่งที่ 541 00:31:14,300 --> 00:31:17,310 คุณคิดภาษา ควรจะทำอย่างไรในกรณีนี้ 542 00:31:17,310 --> 00:31:22,920 ถ้าคุณผ่านในเวกเตอร์ของ Booleans เมื่อคุณกำลังทำถ้าเงื่อนไข 543 00:31:22,920 --> 00:31:31,733 >> ดังนั้นขอบอกว่าคุณมีเดิม เป็นหนึ่งเดียวกับถ้าอื่นกลับ TRUE และคุณ 544 00:31:31,733 --> 00:31:34,190 จะกลับเท็จ 545 00:31:34,190 --> 00:31:39,300 ดังนั้นวิธีหนึ่งในการสรุป นี้คือการบอกว่าฉัน 546 00:31:39,300 --> 00:31:41,530 ไม่จำเป็นต้องมีสิ่งนี้มีเงื่อนไข 547 00:31:41,530 --> 00:31:47,220 สิ่งที่ฉันสามารถทำได้ก็คือเพียงแค่ กลับค่าของตัวเอง 548 00:31:47,220 --> 00:31:53,240 ดังนั้นถ้าคุณสังเกตเห็นถ้าคุณ Val ทำคือสูงกว่า 5, 549 00:31:53,240 --> 00:31:56,350 นี้จะกลับมา เวกเตอร์เท็จเท็จ TRUE 550 00:31:56,350 --> 00:31:58,850 >> อาจจะเป็นสิ่งที่คุณ ต้องการ bounded.compare 551 00:31:58,850 --> 00:32:02,940 คุณต้องการที่จะกลับเวกเตอร์ของ Booleans ที่จะเปรียบเทียบแต่ละค่า 552 00:32:02,940 --> 00:32:04,190 เพื่อตัวเอง 553 00:32:04,190 --> 00:32:11,165 ดังนั้นคุณก็สามารถทำ bounded.compare ฟังก์ชั่น x, เท่ากับ 5 554 00:32:11,165 --> 00:32:13,322 555 00:32:13,322 --> 00:32:15,363 และจากนั้นแทนการทำ นี้ถ้าเงื่อนไขอื่น 556 00:32:15,363 --> 00:32:21,430 ฉันแค่ไปที่จะกลับมา x มากกว่า 5 557 00:32:21,430 --> 00:32:23,620 ดังนั้นถ้ามันเป็นความจริงแล้ว มันจะกลับ TRUE 558 00:32:23,620 --> 00:32:26,830 แล้วถ้ามันไม่ได้ก็ จะกลับเท็จ 559 00:32:26,830 --> 00:32:30,880 >> และนี่จะทำงานให้ ใด ๆ ของโครงสร้างเหล่านี้ 560 00:32:30,880 --> 00:32:41,450 ดังนั้นผมจึงสามารถ bounded.compare ค 1 6 หรือ 9 แล้วฉันจะบอกว่าเท่ากับ 6 561 00:32:41,450 --> 00:32:42,799 เช่น 562 00:32:42,799 --> 00:32:44,840 และจากนั้นก็จะ ให้คุณบูลีนที่เหมาะสม 563 00:32:44,840 --> 00:32:48,240 เวกเตอร์ที่คุณกำลังออกแบบ 564 00:32:48,240 --> 00:32:50,660 >> ดังนั้นผู้ที่มีเพียงฟังก์ชั่น และตอนนี้ให้ฉันเพียงแค่ 565 00:32:50,660 --> 00:32:54,980 แสดงบางภาพแบบโต้ตอบ 566 00:32:54,980 --> 00:32:59,700 ฉันไม่คิดว่าที่จริงผมมี Wi-Fi ที่นี่เพื่อให้ฉันเพียงไปข้างหน้า 567 00:32:59,700 --> 00:33:01,970 และข้ามอันนี้ผมคิดว่า 568 00:33:01,970 --> 00:33:05,260 >> แต่สิ่งหนึ่งที่เย็น แต่คือว่าถ้าคุณเพียง 569 00:33:05,260 --> 00:33:09,600 ต้องการที่จะทดสอบพวงของ คำสั่งข้อมูลที่แตกต่าง 570 00:33:09,600 --> 00:33:13,320 มีพวงของชุดข้อมูลที่แตกต่างกัน ที่มีการโหลดไว้แล้วในอาร์ 571 00:33:13,320 --> 00:33:15,770 ดังนั้นหนึ่งในนั้นคือ เรียกว่าชุดข้อมูลที่ม่านตา 572 00:33:15,770 --> 00:33:18,910 นี้เป็นหนึ่งในที่สุดที่รู้จักกันดี คนในการเรียนรู้เครื่อง 573 00:33:18,910 --> 00:33:23,350 คุณจะมักจะทำเพียงแค่การจัดเรียงของบางอย่าง กรณีทดสอบเพื่อดูว่ารหัสของคุณทำงาน 574 00:33:23,350 --> 00:33:27,520 เพื่อให้เพียงตรวจสอบสิ่งที่ไอริส 575 00:33:27,520 --> 00:33:33,130 >> ดังนั้นสิ่งนี้เป็นไป ที่จะเป็นกรอบข้อมูล 576 00:33:33,130 --> 00:33:36,000 และมันเป็นชนิดของนานเพราะ ฉันเพียงแค่พิมพ์ออกมาม่านตา 577 00:33:36,000 --> 00:33:38,810 มันพิมพ์ออกสิ่งทั้งหมด 578 00:33:38,810 --> 00:33:42,830 ดังนั้นจึงมีทั้งหมดเหล่านี้ชื่อที่แตกต่างกัน 579 00:33:42,830 --> 00:33:45,505 ม่านตาเพื่อให้เป็นคอลเลกชัน ของดอกไม้ที่แตกต่างกัน 580 00:33:45,505 --> 00:33:48,830 ในกรณีนี้มันกำลังบอก คุณสายพันธุ์ของมัน 581 00:33:48,830 --> 00:33:54,760 ทุกความกว้างที่แตกต่างกันเหล่านี้และ ความยาวของกลีบเลี้ยงและกลีบดอก 582 00:33:54,760 --> 00:33:58,880 >> และอื่น ๆ ตามปกติถ้า คุณต้องการพิมพ์ม่านตา 583 00:33:58,880 --> 00:34:03,680 ตัวอย่างเช่นคุณไม่ต้องการที่จะมีมัน ทำทั้งหมดนี้เพราะเห็นว่าสามารถใช้เวลามากกว่า 584 00:34:03,680 --> 00:34:05,190 คอนโซลทั้งหมดของคุณ 585 00:34:05,190 --> 00:34:09,280 ดังนั้นสิ่งหนึ่งที่จริงๆ ที่ดีคือฟังก์ชั่นหัว 586 00:34:09,280 --> 00:34:12,929 ดังนั้นหากคุณเพียงแค่ทำหัว ม่านตานี้จะให้คุณ 587 00:34:12,929 --> 00:34:17,389 แรกห้าแถวหรือหกฉันเดา 588 00:34:17,389 --> 00:34:19,909 และแล้วดีคุณ เพียงแค่สามารถระบุที่นี่ 589 00:34:19,909 --> 00:34:22,914 ดังนั้น 20-- นี้จะให้ คุณแรก 20 แถว 590 00:34:22,914 --> 00:34:24,830 และที่จริงผมเป็นคนใจดี ประหลาดใจที่ว่านี้ 591 00:34:24,830 --> 00:34:28,770 ให้ผมหกเพื่อให้ฉันไปข้างหน้า และตรวจสอบ iris-- หรือหัวขอโทษ 592 00:34:28,770 --> 00:34:31,699 593 00:34:31,699 --> 00:34:34,960 และนี่ก็จะให้ คุณเอกสาร 594 00:34:34,960 --> 00:34:37,960 ของสิ่งที่หัวมูลค่าไม่ 595 00:34:37,960 --> 00:34:40,839 ดังนั้นมันกลับมาเป็นครั้งแรก หรือสุดท้ายของวัตถุ 596 00:34:40,839 --> 00:34:42,630 และจากนั้นผมกำลังจะไป มองไปที่ค่าเริ่มต้น 597 00:34:42,630 --> 00:34:47,340 และจากนั้นก็กล่าวว่าเริ่มต้น หัววิธี x และ n เท่ากับ 6 ลิตร 598 00:34:47,340 --> 00:34:50,620 ดังนั้นผลตอบแทนที่แรกหกองค์ประกอบ 599 00:34:50,620 --> 00:34:55,050 และในทำนองเดียวกันถ้าคุณสังเกตเห็นที่นี่ผม ไม่ได้มีการระบุ n เท่ากับ 6 600 00:34:55,050 --> 00:34:56,840 โดยค่าเริ่มต้นจะใช้หกฉันเดา 601 00:34:56,840 --> 00:35:00,130 แล้วถ้าผมต้องการที่จะระบุบางอย่าง มูลค่าแล้วฉันจะดูว่าเป็นอย่างดี 602 00:35:00,130 --> 00:35:02,970 603 00:35:02,970 --> 00:35:10,592 >> เพื่อให้เป็นบางคำสั่งที่ง่ายและ นี่คือหนึ่งที่ just-- ดีอีก 604 00:35:10,592 --> 00:35:12,550 ฉัน can-- นี้เป็นจริง เล็ก ๆ น้อย ๆ ที่ซับซ้อนมากขึ้น 605 00:35:12,550 --> 00:35:17,130 แต่เรื่องนี้ก็จะใช้เวลาเรียน ของแต่ละคอลัมน์ของชุดข้อมูลที่ม่านตา 606 00:35:17,130 --> 00:35:20,910 ดังนั้นนี่จะแสดงสิ่งที่แต่ละเหล่านี้ คอลัมน์ในแง่ของประเภทของพวกเขา 607 00:35:20,910 --> 00:35:23,665 ดังนั้นความยาวกลีบเลี้ยงเป็นตัวเลข ความกว้างกลีบเลี้ยงเป็นตัวเลข 608 00:35:23,665 --> 00:35:26,540 ค่าทั้งหมดเหล่านี้เป็นเพียงตัวเลข เพราะคุณสามารถบอกได้จากข้อมูลนี้ 609 00:35:26,540 --> 00:35:29,440 โครงสร้างเหล่านี้เป็น ทุกคนจะต้องเป็นตัวเลข 610 00:35:29,440 --> 00:35:34,310 >> และคอลัมน์ชี่ เป็นไปได้ที่จะเป็นปัจจัย 611 00:35:34,310 --> 00:35:37,270 ดังนั้นตามปกติคุณจะคิดว่า นี้เป็นเหมือนสายอักขระ 612 00:35:37,270 --> 00:35:48,830 แต่ถ้าคุณแค่ทำ irisSpecies, แล้วฉันจะทำหัวที่ 5 613 00:35:48,830 --> 00:35:51,820 และนี่คือที่จะพิมพ์ ออกห้าครั้งแรกค่า 614 00:35:51,820 --> 00:35:54,150 >> และแจ้งให้ทราบแล้วในระดับนี้ 615 00:35:54,150 --> 00:35:58,870 ดังนั้นนี้จะ saying-- นี้เป็นวิธีที่อาร์ ของการมีตัวแปรเด็ดขาด 616 00:35:58,870 --> 00:36:03,765 ดังนั้นแทนที่จะเพียง มีสตริงตัวอักษร 617 00:36:03,765 --> 00:36:06,740 มันมีระดับที่ระบุ ซึ่งสิ่งเหล่านี้เป็น 618 00:36:06,740 --> 00:36:12,450 >> ดังนั้นสมมติว่า irisSpecies 1 619 00:36:12,450 --> 00:36:17,690 ดังนั้นสิ่งที่คุณต้องการที่จะทำนี่คือฉัน Subsetting คอลัมน์นี้สปีชีส์ 620 00:36:17,690 --> 00:36:21,480 ดังนั้นนี้จะใช้เวลา คอลัมน์สายพันธุ์แล้ว 621 00:36:21,480 --> 00:36:23,820 ดัชนีมันเพื่อให้ได้องค์ประกอบแรก 622 00:36:23,820 --> 00:36:27,140 ดังนั้นควรให้ setosa ต้น 623 00:36:27,140 --> 00:36:28,710 และมันยังช่วยให้ระดับคุณที่นี่ 624 00:36:28,710 --> 00:36:32,812 >> ดังนั้นคุณยังสามารถเปรียบเทียบ นี้เพื่อ setosa ต้นต​​ัวอักษร 625 00:36:32,812 --> 00:36:34,645 และนี่คือที่ไม่ได้ไป ที่จะเป็นจริงเพราะหนึ่ง 626 00:36:34,645 --> 00:36:37,940 เป็นชนิดที่แตกต่างกันกว่าที่อื่น ๆ 627 00:36:37,940 --> 00:36:40,590 หรือผมคิดว่ามันเป็นความจริงเพราะ R เป็นคนฉลาดมากขึ้นกว่าที่ 628 00:36:40,590 --> 00:36:45,420 และมันมีลักษณะที่นี้แล้ว กล่าวว่าอาจจะเป็นสิ่งที่คุณต้องการ 629 00:36:45,420 --> 00:36:51,860 ดังนั้นมันจะบอกว่าตัวละครตัวนี้ setosa ต้นสตริงเป็นเช่นเดียวกับคนนี้ 630 00:36:51,860 --> 00:37:01,290 และจากนั้นก็ทำนองเดียวกันคุณสามารถ ก็เป็นเพียงแค่คว้าเหล่านี้เช่นอื่น ๆ 631 00:37:01,290 --> 00:37:05,580 >> เพื่อให้เป็นเพียงแค่การจัดเรียงของบางอย่าง คำสั่งอย่างรวดเร็วของชุดข้อมูล 632 00:37:05,580 --> 00:37:08,030 ดังนั้นนี่คือการสำรวจข้อมูลบางอย่าง 633 00:37:08,030 --> 00:37:11,360 ดังนั้นนี่คือเล็ก ๆ น้อย ๆ ที่เกี่ยวข้องกับการวิเคราะห์ข้อมูล 634 00:37:11,360 --> 00:37:18,340 และสิ่งนี้จะนำมาจากบางส่วน Bootcamp ใน R สำหรับในเบิร์กลีย์ 635 00:37:18,340 --> 00:37:20,790 >> ห้องสมุดดังนั้นต่างประเทศ 636 00:37:20,790 --> 00:37:24,880 ดังนั้นผมจะโหลดใน ห้องสมุดที่เรียกว่าต่างประเทศ 637 00:37:24,880 --> 00:37:32,460 ดังนั้นนี้จะให้ฉัน read.dta ดังนั้นคิดว่าฉันมีชุดนี้ 638 00:37:32,460 --> 00:37:39,000 นี้ถูกเก็บไว้ในปัจจุบัน ไดเรกทอรีการทำงานของคอนโซลของฉัน 639 00:37:39,000 --> 00:37:42,190 เพื่อให้เพียงเห็นสิ่งที่ ไดเรกทอรีการทำงานเป็น 640 00:37:42,190 --> 00:37:44,620 >> ดังนั้นนี่คือไดเรกทอรีการทำงานของฉัน 641 00:37:44,620 --> 00:37:50,040 และอ่านข้อมูลจุดนี้ สิ่งที่จะบอกว่าไฟล์นี้ 642 00:37:50,040 --> 00:37:54,650 ตั้งอยู่ในโฟลเดอร์ข้อมูลของ นี้ไดเรกทอรีการทำงานปัจจุบัน 643 00:37:54,650 --> 00:38:00,520 และ read.dta นี้ไม่ได้ คำสั่งเริ่มต้น 644 00:38:00,520 --> 00:38:02,760 ผมคิดว่าผมโหลดไว้ในแล้ว 645 00:38:02,760 --> 00:38:04,750 IEI สันนิษฐานว่าผมโหลดนี้แล้ว 646 00:38:04,750 --> 00:38:08,115 >> แต่จนถึง read.dta ไม่ได้ไป จะเป็นคำสั่งเริ่มต้น 647 00:38:08,115 --> 00:38:11,550 และนั่นคือเหตุผลที่คุณกำลังจะมี การโหลดในห้องสมุดนี้ package-- 648 00:38:11,550 --> 00:38:14,500 แพคเกจนี้เรียกว่าต่างประเทศ 649 00:38:14,500 --> 00:38:16,690 และถ้าคุณไม่ได้มี แพคเกจที่ฉันคิดว่า 650 00:38:16,690 --> 00:38:19,180 ต่างประเทศเป็นหนึ่งในคนที่ในตัว 651 00:38:19,180 --> 00:38:31,150 มิฉะนั้นคุณยังสามารถ ทำ install.packages 652 00:38:31,150 --> 00:38:33,180 และจะติดตั้งแพคเกจ 653 00:38:33,180 --> 00:38:36,878 และนี่จะทำให้คุณอาร์เอ่อไม่มี 654 00:38:36,878 --> 00:38:39,830 655 00:38:39,830 --> 00:38:43,140 และแล้วฉันแค่จะหยุด นี้เพราะผมมีมัน 656 00:38:43,140 --> 00:38:46,920 >> แต่สิ่งที่ดีจริงๆเกี่ยวกับการวิจัย คือการจัดการแพคเกจ 657 00:38:46,920 --> 00:38:48,510 ระบบนี้เป็นระบบที่สง่างามมาก 658 00:38:48,510 --> 00:38:52,470 เพราะมันจะเก็บทุกอย่าง จริงๆอย่างดีสำหรับคุณ 659 00:38:52,470 --> 00:38:59,780 ดังนั้นในกรณีนี้ก็จะจัดเก็บ ในผมเชื่อว่าห้องสมุดนี้ที่นี่ 660 00:38:59,780 --> 00:39:02,390 >> ดังนั้นตลอดเวลาที่คุณต้องการ ติดตั้งแพคเกจใหม่ 661 00:39:02,390 --> 00:39:04,980 มันเป็นเพียงแค่เป็นง่ายๆเป็น ทำ install.packages 662 00:39:04,980 --> 00:39:07,500 และ R จะจัดการทั้งหมด แพคเกจสำหรับคุณ 663 00:39:07,500 --> 00:39:12,900 ดังนั้นคุณจึงไม่ต้องทำอะไรบางอย่างใน งูหลามที่คุณมีแพคเกจภายนอก 664 00:39:12,900 --> 00:39:15,330 ผู้จัดการเช่นกระดาษ งูที่คุณ 665 00:39:15,330 --> 00:39:18,310 doing-- คุณติดตั้ง แพคเกจด้านนอกของงูหลาม 666 00:39:18,310 --> 00:39:20,940 และจากนั้นคุณพยายามที่จะเรียกพวกเขาเอง 667 00:39:20,940 --> 00:39:22,210 ดังนั้นนี้เป็นวิธีที่ดีจริงๆ 668 00:39:22,210 --> 00:39:25,590 >> และ install.packages ต้องใช้อินเทอร์เน็ต 669 00:39:25,590 --> 00:39:31,950 มันต้องใช้เวลาจากเซิร์ฟเวอร์ และพื้นที่เก็บข้อมูลที่ 670 00:39:31,950 --> 00:39:33,960 เก็บรวบรวมทั้งหมด แพคเกจที่เรียกว่า CRAN 671 00:39:33,960 --> 00:39:40,690 และคุณสามารถระบุว่าการจัดเรียงของกระจก คุณต้องการดาวน์โหลดแพคเกจจาก 672 00:39:40,690 --> 00:39:43,420 >> ดังนั้นที่นี่ฉันกินชุดนี้ 673 00:39:43,420 --> 00:39:46,240 ฉันอ่านมันในการใช้ฟังก์ชั่นนี้ 674 00:39:46,240 --> 00:39:49,360 เพื่อให้ฉันไปข้างหน้าและทำอย่างนั้น 675 00:39:49,360 --> 00:39:52,900 >> ดังนั้นสมมติว่า คุณมีชุดนี้ 676 00:39:52,900 --> 00:39:55,550 และคุณมีอย่างแน่นอน ความคิดที่ว่ามันคืออะไรไม่มี 677 00:39:55,550 --> 00:39:58,560 และนี่จริงขึ้นมา ค่อนข้างบ่อยในอุตสาหกรรม 678 00:39:58,560 --> 00:40:00,910 ที่คุณเพิ่งได้เหล่านี้ ตันและตันของสิ่งที่ยุ่ง 679 00:40:00,910 --> 00:40:02,890 และพวกเขากำลังที่ไม่มีป้ายกำกับอย่างไม่น่าเชื่อ 680 00:40:02,890 --> 00:40:06,380 ดังนั้นที่นี่ฉันมีนี้ ชุดและผมไม่ทราบว่า 681 00:40:06,380 --> 00:40:08,400 ว่ามันคืออะไรดังนั้นฉันเพียงแค่ แสดงเพื่อตรวจสอบออก 682 00:40:08,400 --> 00:40:10,620 >> ดังนั้นฉันจะทำหน้าแรก 683 00:40:10,620 --> 00:40:14,190 ดังนั้นผมจึงตรวจสอบครั้งแรกที่หก คอลัมน์ของสิ่งที่ชุดนี้ 684 00:40:14,190 --> 00:40:21,730 ดังนั้นนี่คือรัฐ pres04 แล้ว ทั้งหมดเหล่านี้การจัดเรียงที่แตกต่างกันของคอลัมน์ 685 00:40:21,730 --> 00:40:25,612 และสิ่งที่น่าสนใจ ที่นี่ผมคิดว่าคือการที่คุณ 686 00:40:25,612 --> 00:40:27,945 จะถือว่ามีลักษณะนี้ เช่นการจัดเรียงของการเลือกตั้งบางส่วน 687 00:40:27,945 --> 00:40:30,482 688 00:40:30,482 --> 00:40:32,190 และผมคิดว่ามาจาก กำลังมองหาที่ไฟล์ 689 00:40:32,190 --> 00:40:41,070 ชื่อนี้เป็นประเภทของคอลเลกชันบาง ข้อมูลเกี่ยวกับผู้สมัครหรือผู้มีสิทธิเลือกตั้ง 690 00:40:41,070 --> 00:40:44,920 ที่ลงคะแนนให้ประธานาธิบดีที่เฉพาะเจาะจง หรือผู้สมัครประธานาธิบดี 691 00:40:44,920 --> 00:40:46,550 สำหรับการเลือกตั้ง 2004 692 00:40:46,550 --> 00:40:52,920 >> ดังนั้นนี่คือค่าที่ 1, 2 ดังนั้นวิธีหนึ่งในการจัดเก็บ 693 00:40:52,920 --> 00:40:56,540 ผู้สมัครประธานาธิบดี เป็นชื่อของเขา 694 00:40:56,540 --> 00:40:59,780 ในกรณีนี้ดูเหมือนว่า พวกเขากำลังเพียงค่าจำนวนเต็ม 695 00:40:59,780 --> 00:41:04,030 ดังนั้นปี 2004 มันเป็นบุช เมื่อเทียบกับเคอร์รี่ผมเชื่อว่า 696 00:41:04,030 --> 00:41:09,010 และตอนนี้สมมติว่าคุณก็ไม่ทราบ ไม่ว่าจะเป็น 1 สอดคล้องกับบุชหรือ 2 697 00:41:09,010 --> 00:41:11,703 สอดคล้องกับเคอร์รีและหรือ อื่น ๆ และอื่น ๆ ใช่มั้ย? 698 00:41:11,703 --> 00:41:15,860 >> และนี่คือเพียงแค่ให้ฉัน ปัญหาที่พบบ่อยอย่างเป็นธรรม 699 00:41:15,860 --> 00:41:18,230 ดังนั้นสิ่งที่คุณสามารถทำได้ในกรณีนี้หรือไม่? 700 00:41:18,230 --> 00:41:20,000 ดังนั้นขอให้ตรวจสอบทุกสิ่งอื่น ๆ เหล่านี้ 701 00:41:20,000 --> 00:41:22,790 >> รัฐฉันสมมตินี้ มาจากรัฐที่แตกต่าง 702 00:41:22,790 --> 00:41:25,100 partyid รายได้ 703 00:41:25,100 --> 00:41:27,710 ลองดูที่ partyid 704 00:41:27,710 --> 00:41:32,800 ดังนั้นบางทีสิ่งหนึ่งที่คุณสามารถทำได้คือ ดูแต่ละข้อสังเกต 705 00:41:32,800 --> 00:41:36,250 ที่มี partyid ของรีพับลิกัน หรือพรรคประชาธิปัตย์หรือบางสิ่งบางอย่าง 706 00:41:36,250 --> 00:41:38,170 เพื่อให้เพียงมองสิ่งที่เป็น partyid 707 00:41:38,170 --> 00:41:41,946 >> ดังนั้นฉันจะใช้เวลา ว่าแล้วฉันจะ 708 00:41:41,946 --> 00:41:47,960 ที่จะทำเครื่องหมายดอลลาร์นี้ ผู้ประกอบการที่ฉันไม่ก่อนหน้านี้ 709 00:41:47,960 --> 00:41:50,770 และนี้เป็นไป ย่อยคอลัมน์ว่า 710 00:41:50,770 --> 00:41:57,760 และจากนั้นผมจะมุ่งหน้านี้ 20 เพียงเพื่อดูสิ่งนี้ดูเหมือนว่า 711 00:41:57,760 --> 00:42:00,170 >> ดังนั้นนี้เป็นเพียงพวงของ NAS 712 00:42:00,170 --> 00:42:02,800 ดังนั้นในคำอื่น ๆ ที่คุณมี ข้อมูลที่หายไปเกี่ยวกับคนเหล่านี้ 713 00:42:02,800 --> 00:42:08,100 แต่คุณยังแจ้งให้ทราบนี้ partyid ว่าเป็นปัจจัย 714 00:42:08,100 --> 00:42:10,030 ดังนั้นนี้จะช่วยให้คุณประเภทที่แตกต่างกัน 715 00:42:10,030 --> 00:42:14,170 ดังนั้นในคำอื่น ๆ ที่สามารถใช้ partyid พรรคประชาธิปัตย์, พรรครีพับลิอิสระ 716 00:42:14,170 --> 00:42:16,640 หรือสิ่งอื่นใด 717 00:42:16,640 --> 00:42:23,940 >> ถ้าอย่างนั้นเราไปข้างหน้าและขอ ดูว่าของเหล่านี้เป็นเท่าไหร่โอ้ตกลง 718 00:42:23,940 --> 00:42:28,480 ดังนั้นฉันจะไปยังกลุ่มย่อย เพื่อ partyid แล้ว 719 00:42:28,480 --> 00:42:32,780 ดูว่าคนที่มี พรรคประชาธิปัตย์ยกตัวอย่างเช่น 720 00:42:32,780 --> 00:42:37,150 นี้จะทำให้คุณบูลีน บูลีนขนาดใหญ่ของ TRUEs และ falses 721 00:42:37,150 --> 00:42:41,630 >> และตอนนี้ขอบอกว่าฉันต้องการ กลุ่มคนเหล่านี้จะ 722 00:42:41,630 --> 00:42:47,260 ดังนั้นนี่จะใช้เวลาของฉันและว่า แล้วแต่จำนวนใดจะย่อยสังเกต 723 00:42:47,260 --> 00:42:48,910 มี partyid เท่ากับเท่ากับพรรคประชาธิปัตย์ 724 00:42:48,910 --> 00:42:52,830 725 00:42:52,830 --> 00:42:55,180 และนี่คือค่อนข้างนานเพราะ มีจำนวนมากดังนั้นของพวกเขา 726 00:42:55,180 --> 00:42:59,060 ดังนั้นตอนนี้ผมกำลังจะมุ่งหน้านี้ในวันที่ 20 727 00:42:59,060 --> 00:43:05,690 728 00:43:05,690 --> 00:43:11,270 >> และในขณะที่คุณสังเกตเท่ากับเท่ากับ เป็นที่น่าสนใจในการที่คุณ 729 00:43:11,270 --> 00:43:13,250 already-- คุณยังรวมถึง NAS 730 00:43:13,250 --> 00:43:19,010 ดังนั้นในกรณีนี้คุณยังไม่สามารถรับ ข้อมูลใด ๆ เพราะตอนนี้คุณมี NAS 731 00:43:19,010 --> 00:43:22,650 และคุณก็ต้องการที่จะเห็นว่า สังเกตสอดคล้องกับพรรคประชาธิปัตย์ 732 00:43:22,650 --> 00:43:24,670 และไม่เหล่านี้หายไปค่าตัวเอง 733 00:43:24,670 --> 00:43:27,680 ดังนั้นวิธีที่คุณจะได้รับการกำจัด NAS เหล่านี้หรือไม่ 734 00:43:27,680 --> 00:43:36,410 >> ดังนั้นที่นี่ฉันแค่ใช้คีย์ขึ้นบนของฉัน เคอร์เซอร์แล้วบอกว่าย้ายไปรอบ ๆ 735 00:43:36,410 --> 00:43:39,778 และแล้วที่นี่ฉันแค่ไป ที่จะบอกว่า is.na datpartyid 736 00:43:39,778 --> 00:43:48,970 737 00:43:48,970 --> 00:43:52,720 ดังนั้นนี้และและจะใช้เวลา สองเวกเตอร์บูลีนที่แตกต่างกัน 738 00:43:52,720 --> 00:43:57,160 และบอกว่ามันเป็นไปได้ จริงและเท็จเช่น 739 00:43:57,160 --> 00:43:59,190 ดังนั้นมันจะทำเช่นนี้องค์ประกอบที่ชาญฉลาด 740 00:43:59,190 --> 00:44:02,910 ดังนั้นที่นี่ฉันพูดใช้ กรอบข้อมูลย่อย 741 00:44:02,910 --> 00:44:10,170 กับคนที่สอดคล้องกับพรรคประชาธิปัตย์ และลบใด ๆ ของพวกเขาที่ไม่ได้ NA 742 00:44:10,170 --> 00:44:13,540 >> ดังนั้น will-- นี้ควร บางสิ่งบางอย่างให้คุณ 743 00:44:13,540 --> 00:44:16,540 744 00:44:16,540 --> 00:44:17,600 ลองมาดูกัน is.na. 745 00:44:17,600 --> 00:44:24,670 746 00:44:24,670 --> 00:44:27,690 ลอง is.na datpartyid 747 00:44:27,690 --> 00:44:36,290 748 00:44:36,290 --> 00:44:45,290 และนี่ควรให้ you-- sorry-- เพียงเวกเตอร์บูลีน 749 00:44:45,290 --> 00:44:49,260 และจากนั้นก็เพราะมันนานมาก ฉันจะไปย่อยถึง 20 750 00:44:49,260 --> 00:44:49,760 ตกลง 751 00:44:49,760 --> 00:44:51,570 ดังนั้นนี้ควรจะทำงาน 752 00:44:51,570 --> 00:44:54,700 >> และหนึ่งนี้ยังจะ TRUEs 753 00:44:54,700 --> 00:45:01,830 Ah ดังนั้นข้อผิดพลาดของฉันที่นี่คือที่ I'm-- ฉัน ใช้ภาษา C ++ และ R สลับกันดังนั้นผมจึงทำให้ 754 00:45:01,830 --> 00:45:03,590 ความผิดพลาดตลอดเวลานี้ 755 00:45:03,590 --> 00:45:05,807 และผู้ประกอบการคือ จริงหนึ่งที่คุณต้องการ 756 00:45:05,807 --> 00:45:08,140 คุณไม่ต้องการที่จะใช้สอง เครื่องหมายเพียงหนึ่งเดียว 757 00:45:08,140 --> 00:45:14,970 758 00:45:14,970 --> 00:45:17,010 ตกลง 759 00:45:17,010 --> 00:45:18,140 >> ดังนั้นเรามาดู 760 00:45:18,140 --> 00:45:20,930 761 00:45:20,930 --> 00:45:23,920 ดังนั้นเราจะ subsetted partyid ที่พวกเขากำลังประชาธิปัตย์ 762 00:45:23,920 --> 00:45:25,300 และพวกเขาไม่ได้หายไปค่า 763 00:45:25,300 --> 00:45:27,690 และตอนนี้ให้ดูที่ คนที่พวกเขาลงคะแนนให้ 764 00:45:27,690 --> 00:45:31,530 ดังนั้นดูเหมือนว่าต้องการมากที่สุด ของพวกเขาลงคะแนนให้ 1 765 00:45:31,530 --> 00:45:36,090 ดังนั้นฉันจะไปข้างหน้า และบอกว่าเป็นเคอร์รี 766 00:45:36,090 --> 00:45:39,507 >> และในทำนองเดียวกันคุณสามารถ ยังไปรีพับลิกัน 767 00:45:39,507 --> 00:45:41,090 และหวังว่านี้จะช่วยให้คุณ 2 768 00:45:41,090 --> 00:45:49,730 769 00:45:49,730 --> 00:45:51,770 มันเป็นเพียงพวงของคอลัมน์ที่แตกต่างกัน 770 00:45:51,770 --> 00:45:53,070 และแน่นอนมันคือ 2 771 00:45:53,070 --> 00:45:55,750 ดังนั้น partyid รีพับลิกันทั้งหมด ส่วนใหญ่ของพวกเขาจะลงคะแนนเสียงสำหรับ 2 772 00:45:55,750 --> 00:45:58,390 >> ดังนั้นจึงดูเหมือนว่าเพียง โดยดูที่นี้ 773 00:45:58,390 --> 00:46:00,600 รีพับลิกันที่เป็นไปได้ very-- หรือ partyid 774 00:46:00,600 --> 00:46:02,790 เป็นไปได้มาก ปัจจัยใหญ่ในการกำหนด 775 00:46:02,790 --> 00:46:05,420 ซึ่งผู้สมัครที่พวกเขากำลัง จะไปลงคะแนนให้ 776 00:46:05,420 --> 00:46:07,120 และนี่คือความจริงที่เห็นได้ชัดในทั่วไป 777 00:46:07,120 --> 00:46:10,139 และนี้ตรงกับของคุณ สัญชาตญาณของหลักสูตร 778 00:46:10,139 --> 00:46:11,930 ดังนั้นจึงดูเหมือนว่าฉัน วิ่งออกมาจากเวลาเพื่อ 779 00:46:11,930 --> 00:46:17,040 ให้ฉันก็ควรจะไปข้างหน้า และแสดงภาพบางส่วนได้อย่างรวดเร็ว 780 00:46:17,040 --> 00:46:21,120 ดังนั้นนี่คือสิ่งที่เล็กน้อย ที่มีความซับซ้อนมากยิ่งขึ้นด้วยการสร้างภาพ 781 00:46:21,120 --> 00:46:26,450 ดังนั้นในกรณีนี้เป็นอย่างมาก การวิเคราะห์ง่ายเพียงแค่การตรวจสอบสิ่งที่ 782 00:46:26,450 --> 00:46:28,500 ประธาน '04 เป็น 783 00:46:28,500 --> 00:46:33,920 >> ดังนั้นในกรณีนี้สมมติว่าคุณ ต้องการที่จะตอบคำถามนี้ 784 00:46:33,920 --> 00:46:38,540 ดังนั้นสมมติว่าเราอยากจะรู้ว่าการออกเสียงลงคะแนน พฤติกรรมในการเลือกตั้งประธานาธิบดี 2004 785 00:46:38,540 --> 00:46:41,170 และวิธีการที่แตกต่างกันไปโดยการแข่งขัน 786 00:46:41,170 --> 00:46:44,380 ดังนั้นไม่เพียง แต่ที่คุณต้องการ เห็นพฤติกรรมการลงคะแนนได้ 787 00:46:44,380 --> 00:46:47,860 แต่คุณต้องการไปยังกลุ่มย่อยของแต่ละ การแข่งขันและการเรียงลำดับของการสรุปว่า 788 00:46:47,860 --> 00:46:50,770 และคุณสามารถบอกได้ โดยสัญกรณ์ที่ซับซ้อนนี้ 789 00:46:50,770 --> 00:46:52,580 ว่าเรื่องนี้เป็นชนิดของการหมอก 790 00:46:52,580 --> 00:46:56,390 >> ดังนั้นหนึ่งในที่สูงขึ้น R แพคเกจที่นี้ยังเป็นชนิดของที่ผ่านมา 791 00:46:56,390 --> 00:47:00,070 เรียกว่า dplyr 792 00:47:00,070 --> 00:47:03,060 ดังนั้นจึงเป็นสิ่งหนึ่งที่เหมาะสมที่นี่ 793 00:47:03,060 --> 00:47:08,080 และ ggg-- ggplot2 เป็นเพียงความสุข วิธีการทำการสร้างภาพที่ดีขึ้น 794 00:47:08,080 --> 00:47:09,400 กว่าในตัวหนึ่ง 795 00:47:09,400 --> 00:47:11,108 >> ดังนั้นผมจะโหลด ทั้งสองห้องสมุด 796 00:47:11,108 --> 00:47:13,200 797 00:47:13,200 --> 00:47:16,950 แล้วฉันจะไป ข้างหน้าและใช้คำสั่งนี้ 798 00:47:16,950 --> 00:47:19,050 คุณก็สามารถรักษานี้เป็นกล่องสีดำ 799 00:47:19,050 --> 00:47:23,460 >> สิ่งที่เกิดขึ้นก็คือว่าท่อนี้ ผู้ประกอบการจะผ่านในเรื่องนี้ 800 00:47:23,460 --> 00:47:24,110 เข้าที่นี่ 801 00:47:24,110 --> 00:47:28,070 ดังนั้นฉันพูดโดยกลุ่มว่า การแข่งขันและจากนั้นประธาน 04 802 00:47:28,070 --> 00:47:31,530 และแล้วทุกคำสั่งอื่น ๆ เหล่านี้ จะถูกกรองแล้วสรุป 803 00:47:31,530 --> 00:47:34,081 ที่ฉันทำและนับ แล้วผมวางแผนได้ที่นี่ 804 00:47:34,081 --> 00:47:39,980 805 00:47:39,980 --> 00:47:42,500 เย็นตกลง 806 00:47:42,500 --> 00:47:44,620 ถ้าอย่างนั้นเราไปข้างหน้าและ เห็นสิ่งนี้ดูเหมือนว่า 807 00:47:44,620 --> 00:47:52,280 808 00:47:52,280 --> 00:47:57,290 >> ดังนั้นสิ่งที่เกิดขึ้นที่นี่คือผมว่า เพียงแค่พล็อตของแต่ละการแข่งขันแล้ว 809 00:47:57,290 --> 00:47:59,670 คนที่พวกเขาลงคะแนนให้ 810 00:47:59,670 --> 00:48:03,492 และทั้งสองแตกต่างกัน ค่าสอดคล้องกับที่ 2 และ 1 811 00:48:03,492 --> 00:48:05,325 ถ้าคุณต้องการที่จะมีมากขึ้น สง่างามนอกจากนี้คุณยังสามารถ 812 00:48:05,325 --> 00:48:11,770 เพียงแค่ระบุที่ 2 เป็น Kerry-- หรือ 2 เป็นบุชแล้ว 1 เป็นเคอร์รี 813 00:48:11,770 --> 00:48:13,700 และคุณยังสามารถมี ว่าในตำนานของคุณ 814 00:48:13,700 --> 00:48:17,410 >> และคุณยังสามารถแยกกราฟแท่งเ​​หล่านี้ 815 00:48:17,410 --> 00:48:19,480 เพราะสิ่งหนึ่งที่เป็น ว่าถ้าคุณสังเกตเห็น 816 00:48:19,480 --> 00:48:24,560 นี้ไม่ใช่เรื่องง่ายมากที่จะระบุ ซึ่งทั้งสองค่ามีขนาดใหญ่ 817 00:48:24,560 --> 00:48:27,920 ดังนั้นสิ่งหนึ่งที่คุณต้องการ ทำคือการใช้พื้นที่สีฟ้านี้ 818 00:48:27,920 --> 00:48:31,855 และเพิ่งย้ายไปที่นี่เพื่อให้คุณ สามารถเปรียบเทียบทั้งสองด้านโดยด้านข้าง 819 00:48:31,855 --> 00:48:34,480 และผมคิดว่านั่นคือสิ่งที่ฉัน ไม่ได้มีเวลาที่จะทำในขณะนี้ 820 00:48:34,480 --> 00:48:36,660 แต่ที่ยังเป็นเรื่องง่ายมากที่จะทำ 821 00:48:36,660 --> 00:48:40,310 คุณก็สามารถมองเข้าไปใน หน้าคนของ ggplot 822 00:48:40,310 --> 00:48:47,170 ดังนั้นคุณก็สามารถทำเช่น ggplot และอ่านในหน้าคนนี้ 823 00:48:47,170 --> 00:48:51,920 >> ดังนั้นให้ฉันเพียงแค่ได้อย่างรวดเร็ว แสดงบางสิ่งบางอย่างเย็น 824 00:48:51,920 --> 00:48:57,610 ลองไปข้างหน้าและไป to-- เพียง การประยุกต์ใช้การเรียนรู้เครื่อง 825 00:48:57,610 --> 00:49:02,450 ดังนั้นสมมติว่าเรามีสามเหล่านี้ แพคเกจเพื่อผมจะโหลดเหล่านี้ใน 826 00:49:02,450 --> 00:49:05,500 827 00:49:05,500 --> 00:49:09,170 ดังนั้นเพียงแค่นี้พิมพ์ออกบางส่วน ข้อมูลหลังจากที่ผมโหลดในสิ่งที่ 828 00:49:09,170 --> 00:49:15,220 ดังนั้นฉันพูด read.csv นี้ ชุดนี้และตอนนี้ 829 00:49:15,220 --> 00:49:18,940 ฉันจะไปข้างหน้าและมองและ เห็นสิ่งที่อยู่ภายในชุดนี้ 830 00:49:18,940 --> 00:49:22,080 >> ดังนั้นก่อนที่ 20 สังเกต 831 00:49:22,080 --> 00:49:27,190 ดังนั้นผมก็ต้อง X1, X2 และวายดังนั้นจึง ดูเหมือนว่าพวงของค่าเหล่านี้ 832 00:49:27,190 --> 00:49:31,640 มีตั้งแต่บางที 20-80 หรือมากกว่านั้น 833 00:49:31,640 --> 00:49:37,700 และแล้วในทำนองเดียวกันสำหรับ X2 แล้ว Y นี้น่าจะเป็นป้าย 0 และ 1 834 00:49:37,700 --> 00:49:49,500 >> เมื่อต้องการตรวจสอบนี้ผมสามารถ เพียงแค่ทำสรุปข้อมูล X1 835 00:49:49,500 --> 00:49:51,660 และแล้วในทำนองเดียวกันสำหรับ คอลัมน์อื่น ๆ เหล่านี้ 836 00:49:51,660 --> 00:49:55,300 ดังนั้นสรุปเป็นวิธีที่รวดเร็วของ เพียงแค่คุณแสดงค่าอย่างรวดเร็ว 837 00:49:55,300 --> 00:49:56,330 โอ้ขอโทษ 838 00:49:56,330 --> 00:49:58,440 หนึ่งนี้ควรจะวาย 839 00:49:58,440 --> 00:50:03,420 >> ดังนั้นในกรณีนี้ให้ quantiles, มีเดีย, maxes ได้เป็นอย่างดี 840 00:50:03,420 --> 00:50:07,130 ในกรณีนี้ DataY คุณสามารถดู ว่ามันเป็นเพียงแค่จะเป็น 0 และ 1 841 00:50:07,130 --> 00:50:10,100 นอกจากนี้ยังหมายถึงไม่ว่าจะเป็น 0.6 เพียงหมายความว่ามัน 842 00:50:10,100 --> 00:50:13,380 ดูเหมือนว่าฉันมี 1s มากกว่า 0s 843 00:50:13,380 --> 00:50:16,160 >> เพื่อให้ฉันไปข้างหน้าและการแสดง คุณได้สิ่งนี้ดูเหมือนว่า 844 00:50:16,160 --> 00:50:17,470 ดังนั้นฉันแค่จะไปพล็อตนี้ 845 00:50:17,470 --> 00:50:22,852 846 00:50:22,852 --> 00:50:24,636 ลองมาดูวิธีการล้างนี้ 847 00:50:24,636 --> 00:50:30,492 848 00:50:30,492 --> 00:50:31,468 โอ้ตกลง 849 00:50:31,468 --> 00:50:35,840 850 00:50:35,840 --> 00:50:36,340 ตกลง 851 00:50:36,340 --> 00:50:37,590 >> ดังนั้นนี่คือสิ่งที่ดูเหมือนว่า 852 00:50:37,590 --> 00:50:46,310 ดังนั้นจึงดูเหมือนว่าสีเหลืองผมระบุ เป็น 0 แล้วผมสีแดงระบุเป็น 1s 853 00:50:46,310 --> 00:50:52,190 ดังนั้นที่นี่ดูเหมือนว่า จุดฉลากและมัน 854 00:50:52,190 --> 00:50:56,410 ดูเหมือนว่าคุณแค่อยากบาง การเรียงลำดับของการจัดกลุ่มเกี่ยวกับเรื่องนี้ 855 00:50:56,410 --> 00:51:01,020 >> และแจ้งให้เราเพียงไปข้างหน้าและการแสดง บางส่วนของฟังก์ชั่นในตัวเหล่านี้ 856 00:51:01,020 --> 00:51:03,580 ดังนั้นนี่คือ LM 857 00:51:03,580 --> 00:51:06,060 ดังนั้นนี่เป็นเพียงการพยายาม เพื่อให้พอดีกับเส้นนี้ 858 00:51:06,060 --> 00:51:08,640 ดังนั้นสิ่งที่เป็นวิธีที่ดีที่สุด ที่ฉันสามารถใส่สายดังกล่าว 859 00:51:08,640 --> 00:51:14,020 ว่ามันที่ดีที่สุดที่จะแยก การเรียงลำดับของการจัดกลุ่มนี้ 860 00:51:14,020 --> 00:51:21,790 และความนึกคิดคุณก็สามารถมองเห็น ที่ฉันเพิ่งเรียกใช้คำสั่งเหล่านี้ทั้งหมด 861 00:51:21,790 --> 00:51:25,450 แล้วฉันจะ ข้างหน้าและเพิ่มบรรทัด 862 00:51:25,450 --> 00:51:28,970 >> ดังนั้นนี้ดูเหมือนว่าเดาที่ดีที่สุด 863 00:51:28,970 --> 00:51:34,150 ก็สละที่ดีที่สุดที่จะช่วยลด ข้อผิดพลาดในการพยายามให้พอดีกับสายนี้ 864 00:51:34,150 --> 00:51:40,000 เห็นได้ชัดว่านี้มีลักษณะชนิดของ ดี แต่มันไม่ได้เป็นสิ่งที่ดีที่สุด 865 00:51:40,000 --> 00:51:43,130 และรูปแบบเชิงเส้นใน โดยทั่วไปเป็นไปได้ 866 00:51:43,130 --> 00:51:46,811 จริงที่ดีสำหรับทฤษฎีและการจัดเรียงเพียง พื้นฐานอาคารของเครื่อง 867 00:51:46,811 --> 00:51:47,310 การเรียนรู้ 868 00:51:47,310 --> 00:51:50,330 แต่ในทางปฏิบัติคุณกำลังจะไป ต้องการที่จะทำบางสิ่งบางอย่างมากขึ้นทั่วไป 869 00:51:50,330 --> 00:51:54,280 >> ดังนั้นคุณก็สามารถลองใช้ สิ่งที่เรียกว่าเครือข่ายประสาท 870 00:51:54,280 --> 00:51:57,110 สิ่งเหล่านี้เป็น มากขึ้นร่วมกันมากขึ้น 871 00:51:57,110 --> 00:52:00,530 และพวกเขาก็ทำงานน่าขนลุก สำหรับชุดข้อมูลขนาดใหญ่ 872 00:52:00,530 --> 00:52:07,080 ดังนั้นในกรณีนี้เราเท่านั้น have-- ขอดูหน่อยเรามี nRow 873 00:52:07,080 --> 00:52:09,010 ดังนั้น nRow เป็นเพียงการบอกจำนวนของแถว 874 00:52:09,010 --> 00:52:11,790 ดังนั้นในกรณีนี้ผม มี 100 ข้อสังเกต 875 00:52:11,790 --> 00:52:15,010 >> เพื่อให้ฉันไปข้างหน้าและ ทำให้โครงข่ายประสาทเทียม 876 00:52:15,010 --> 00:52:18,620 ดังนั้นนี่เป็นสิ่งที่ดีจริงๆ เพราะผมก็สามารถพูด nnet 877 00:52:18,620 --> 00:52:21,767 แล้วผมถอยวาย ดังนั้น Y เป็นคอลัมน์นั้น 878 00:52:21,767 --> 00:52:23,850 และจากนั้นก็ถอยมันใน อีกสองตัวแปร 879 00:52:23,850 --> 00:52:27,360 ดังนั้นนี่คือสั้น สัญกรณ์สำหรับ X1 และ X2 880 00:52:27,360 --> 00:52:29,741 >> ถ้าอย่างนั้นเราไปข้างหน้าและทำงานนี้ 881 00:52:29,741 --> 00:52:30,240 โอ้ขอโทษ 882 00:52:30,240 --> 00:52:32,260 ฉันต้องการที่จะทำงานนี้สิ่งที่ทั้ง 883 00:52:32,260 --> 00:52:37,500 และนี่เป็นเพียงสัญกรณ์พิมพ์ สำหรับวิธีการได้อย่างรวดเร็วหรือไม่ได้อย่างรวดเร็ว 884 00:52:37,500 --> 00:52:38,460 แปรสภาพ 885 00:52:38,460 --> 00:52:41,420 ดังนั้นดูเหมือนว่ามันไม่มาบรรจบกัน 886 00:52:41,420 --> 00:52:44,970 เพื่อให้ฉันไปข้างหน้าและการพิมพ์ สิ่งนี้ดูเหมือนว่า 887 00:52:44,970 --> 00:52:51,260 >> ดูที่นี่คือภาพและที่นี่เป็น รูปร่างแสดงวิธีการที่ดีมันพอดี 888 00:52:51,260 --> 00:52:56,380 และนี่คือ just-- คุณสามารถดู นี้ว่าเป็นมากดีมาก 889 00:52:56,380 --> 00:52:59,400 มันก็อาจจะเป็น overfitting แต่คุณยังสามารถ 890 00:52:59,400 --> 00:53:03,390 บัญชีนี้กับคนอื่น ๆ เทคนิคเช่นการตรวจสอบข้าม 891 00:53:03,390 --> 00:53:06,180 และสิ่งเหล่านี้ถูกสร้างขึ้นยังเป็นอาร์ 892 00:53:06,180 --> 00:53:09,170 >> และแจ้งให้เราเพียงแค่แสดง สนับสนุนเครื่องเวกเตอร์ 893 00:53:09,170 --> 00:53:12,470 นี้เป็นอีกหนึ่งที่พบบ่อยจริงๆ เทคนิคในการเรียนรู้เครื่อง 894 00:53:12,470 --> 00:53:18,550 มันจะคล้ายกับรูปแบบเชิงเส้น แต่ จะใช้สิ่งที่เรียกว่าวิธีการเคอร์เนล 895 00:53:18,550 --> 00:53:22,790 และขอดูวิธีการที่ดีที่ไม่ 896 00:53:22,790 --> 00:53:26,430 ดังนั้นหนึ่งนี้จะคล้ายกับวิธีการ ทั้งเครือข่ายประสาทดำเนินการ, 897 00:53:26,430 --> 00:53:27,900 แต่ก็เรียบเนียนมากขึ้น 898 00:53:27,900 --> 00:53:35,740 และนี่จะตามออก ของ what-- วิธีการทำงานจำแนก 899 00:53:35,740 --> 00:53:40,250 >> ดังนั้นนี่เป็นเพียงมาก ภาพรวมอย่างรวดเร็วของบาง 900 00:53:40,250 --> 00:53:43,822 ฟังก์ชั่นในตัวที่คุณสามารถทำได้ และยังมีบางส่วนของการสำรวจข้อมูล 901 00:53:43,822 --> 00:53:45,905 เพื่อให้ฉันเพียงไปข้างหน้า และกลับไปที่ภาพนิ่ง 902 00:53:45,905 --> 00:53:50,290 903 00:53:50,290 --> 00:53:53,670 >> ดังนั้นเห็นได้ชัดนี้เป็น ไม่ได้ครอบคลุมมาก 904 00:53:53,670 --> 00:53:57,140 และนี่คือจริงๆเพียงแค่ทีเซอร์ แสดงให้คุณเห็นสิ่งที่คุณสามารถทำได้ในอาร์ 905 00:53:57,140 --> 00:53:59,100 ดังนั้นหากคุณต้องการเพียงแค่ เพื่อเรียนรู้เพิ่มเติมที่นี่ 906 00:53:59,100 --> 00:54:01,210 มีพวงของทรัพยากรที่แตกต่างกัน 907 00:54:01,210 --> 00:54:06,890 >> ดังนั้นหากคุณรักตำราหรือคุณ เพียงแค่รักการอ่านสิ่งที่ออนไลน์ 908 00:54:06,890 --> 00:54:09,670 แล้วนี้เป็นที่ยอดเยี่ยม หนึ่งโดยแฮดเลย์วิคแฮม 909 00:54:09,670 --> 00:54:13,010 ที่ยังสร้างทั้งหมดเหล่านี้ แพคเกจที่เจ๋งจริงๆ 910 00:54:13,010 --> 00:54:17,420 หากคุณรักวิดีโอแล้ว เบิร์กลีย์มี Bootcamp ที่น่ากลัว 911 00:54:17,420 --> 00:54:21,060 ที่ several-- ว่าเป็นชนิดของนาน 912 00:54:21,060 --> 00:54:24,210 และมันก็จะสอนให้คุณเกือบ ทุกสิ่งที่คุณต้องการรู้เกี่ยวกับอาร์ 913 00:54:24,210 --> 00:54:27,770 >> และในทำนองเดียวกันมี Codeacademy และสิ่งเหล่านี้จัดเรียงอื่น ๆ 914 00:54:27,770 --> 00:54:29,414 ของเว็บไซต์โต้ตอบ 915 00:54:29,414 --> 00:54:31,580 พวกเขายังได้รับ common-- มากขึ้นและบ่อยมากขึ้น 916 00:54:31,580 --> 00:54:33,749 ดังนั้นนี่จะคล้ายกับ Codeacademy 917 00:54:33,749 --> 00:54:35,790 และสุดท้ายถ้าคุณเพียง ชุมชนและต้องการความช่วยเหลือ 918 00:54:35,790 --> 00:54:38,800 เหล่านี้เป็นพวงของ สิ่งที่คุณสามารถไปที่ 919 00:54:38,800 --> 00:54:40,880 เห็นได้ชัดว่าเรายังคง ใช้รายชื่อผู้รับจดหมายเพียง 920 00:54:40,880 --> 00:54:44,860 ชอบเกือบทุกอื่น ๆ ชุมชนการเขียนโปรแกรมภาษา 921 00:54:44,860 --> 00:54:47,880 และ #rstats นี้เป็น ชุมชนของเราทวิตเตอร์ 922 00:54:47,880 --> 00:54:49,580 ที่จริงค่อนข้างบ่อย 923 00:54:49,580 --> 00:54:50,850 และจากนั้นผู้ใช้! 924 00:54:50,850 --> 00:54:52,340 เป็นเพียงการประชุมของเรา 925 00:54:52,340 --> 00:54:55,390 >> และแล้วแน่นอนคุณสามารถ ใช้ Q อื่น ๆ เหล่านี้และสิ่งที่, 926 00:54:55,390 --> 00:54:57,680 เหมือนกองมากเกิน, Google แล้ว GitHub 927 00:54:57,680 --> 00:55:00,490 เพราะส่วนใหญ่ของแพคเกจเหล่านี้ และจำนวนมากของชุมชน 928 00:55:00,490 --> 00:55:03,420 จะเป็นศูนย์กลางการพัฒนารอบ รหัสเพราะมันเป็นโอเพนซอร์ส 929 00:55:03,420 --> 00:55:05,856 และมันก็เป็นเพียงแค่ความสุขจริงๆใน GitHub 930 00:55:05,856 --> 00:55:08,730 และสุดท้ายคุณสามารถติดต่อฉันหาก เพียงแค่คุณมีคำถามใด ๆ ได้อย่างรวดเร็ว 931 00:55:08,730 --> 00:55:13,530 ดังนั้นคุณจึงสามารถหาฉันบนทวิตเตอร์ที่นี่ เว็บไซต์ของฉันและเพียงแค่อีเมลของฉัน 932 00:55:13,530 --> 00:55:17,840 ดังนั้นหวังว่านั่นคือ บางสิ่งบางอย่างเพียงแค่ทีเซอร์สั้น 933 00:55:17,840 --> 00:55:20,900 ของสิ่งที่ R มันมีความสามารถในการทำ 934 00:55:20,900 --> 00:55:23,990 และหวังว่าคุณเพียงแค่ ตรวจสอบเหล่านี้สามลิงค์ 935 00:55:23,990 --> 00:55:25,760 และดูว่าคุณสามารถทำขึ้น 936 00:55:25,760 --> 00:55:28,130 และผมคิดว่านั่นเป็นเพียงเกี่ยวกับเรื่องนี้ 937 00:55:28,130 --> 00:55:28,630 ขอบคุณ 938 00:55:28,630 --> 00:55:30,780 >> [APPLAUSE] 939 00:55:30,780 --> 00:55:31,968