1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 CONNOR HARRIS: ฉันยังคง คิดว่าบางวิดีโอที่น่าตื่นเต้น 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-- การเขียนโปรแกรมภาษาทางสถิติ 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 ดังนั้นพวกเขาจึงสร้างรูปแบบหนึ่ง หลังจากที่ภาษาทางสถิติเอส 18 00:00:56,030 --> 00:01:00,480 พวกเขาพร้อมกับคนอื่น ๆ เก็บไว้ที่ทำงานเกี่ยวกับการใช้ R, 19 00:01:00,480 --> 00:01:05,489 การสร้างเครื่องมือสำหรับการวิจัยและการหา โปรแกรมใหม่สำหรับ 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 คือที่ดีที่สุดในสิ่งที่มันไม่ 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 >> CONNOR HARRIS: ตกลงที่ดี 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 >> แต่ก็มีจำนวนมากมาก ความแตกต่างที่สำคัญจากซี 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 มันพิมพ์ที่ไม่ค่อยมี ไม่มีการประกาศพิมพ์ในอาร์ 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 ถ้าคุณกำลังจะไปทำงานในอาร์หนึ่ง ในนั้นคือการเริ่มต้นอย่างเป็นทางการวิจัยของ 62 00:03:34,610 --> 00:03:35,110 แนะนำ 63 00:03:35,110 --> 00:03:38,660 มันดูแลโดย นักพัฒนาหลักของอาร์ 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 ซึ่งเป็นสถิติที่ศาสตราจารย์ Carnegie Mellon เรียกข้อมูลขั้นสูง 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 >> ตัวเลขทั้งหมดจะได้รับ ในอาร์พวกเขาจะทำในการวิจัย 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 นอกจากนี้ในส่วนแรกของการสัมมนา เป็นไปได้บางสิ่งบางอย่างของข้อมูลที่ถ่ายโอนข้อมูล 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 ยกตัวอย่างเช่นมันจะ นอกจากนี้ยังได้รับการ good-- ยัง 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 และแล้วคืนที่ 02:00 ทุก หรือเมื่อใดก็ตามที่คุณกำหนดเวลาในการทำงาน 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 และมีตรรกะ ประเภทซึ่งเป็น Booleans 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 ทำและถ้าซี คุณเรียกว่าเป็นตัวเลขในจริงหรือเท็จ 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 พวกเขาเป็นสิ่งที่เราเรียกในอาร์เรย์ ซีเมทริกซ์ 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 จะคล้ายกับซี 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 ผมคิดว่าวันนี้เราเรียกว่า hashtag แต่ที่ไม่ได้จริงๆไม่แม่นยำ 178 00:09:19,230 --> 00:09:21,810 เฉือนคู่ 179 00:09:21,810 --> 00:09:24,710 >> Modular ตกค้างอยู่กับสัญญาณ %% 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 อีกครั้งนี้เป็นมรดกทางวัฒนธรรมที่อาร์เอส เป็นภาษาที่เหมือนไม่ได้เป็น 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 >> สำหรับลูปนี้จะคล้ายกับ 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 CONNOR HARRIS: โอ้ที่ มาบรรยายที่ยอดเยี่ยม 200 00:10:26,248 --> 00:10:29,815 ผู้ชม: ได้รับมอบหมายก็คือ ควรจะชี้จากขวาไปซ้าย? 201 00:10:29,815 --> 00:10:31,440 CONNOR HARRIS: จากขวาไปซ้ายใช่ 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 ผู้ชม: ตกลง 205 00:10:36,781 --> 00:10:39,770 206 00:10:39,770 --> 00:10:42,330 >> CONNOR HARRIS: และในที่สุด ไวยากรณ์ฟังก์ชั่นเป็นบิตแปลก 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 พวกเขาจะกลายเป็นธรรมชาติที่สองหลังจากที่ คุณทำงานกับภาษาสำหรับบิต 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 คุณจะได้รับค่านี้เรียกว่า NA ซึ่งหมายถึงค่าที่ขาดหายไป 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 ที่สองและสี่ องค์ประกอบของอาร์เรย์ 243 00:12:38,804 --> 00:12:40,720 และถ้าคุณต้องการเพียง สถิติสรุปอย่างรวดเร็ว 244 00:12:40,720 --> 00:12:47,529 เวกเตอร์เช่น interquartile ช่วงเฉลี่ยสูงสุดใด 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 การสลายตัวสเปกตรัม diagonalization, สิ่งต่างๆมากมาย 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 สลัวเท่ากับค (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 ถ้าคุณอ่านจากที่ไม่มีอยู่จริง ที่สำคัญคุณจะได้รับ null 281 00:14:39,240 --> 00:14:41,150 มันจะไม่เกิดข้อผิดพลาด 282 00:14:41,150 --> 00:14:43,590 สิ่งที่เป็น R จะทำตามที่ มากกับ null เท่าที่จะสามารถ 283 00:14:43,590 --> 00:14:46,580 และนี่อาจจะหมายถึงว่าถ้าคุณ ไม่ได้คาดหวังที่จะได้รับ null ออก 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 เพราะถ้าคุณใช้บางอย่างสูงสุด หรือฟังก์ชั่นขั้นต่ำให้เป็นโมฆะ, 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 คุณมีแถวยังไม่มีข้อความที่ เป็นจำนวนแถว 334 00:17:38,920 --> 00:17:41,160 คุณต้องไม่มี cols-- จำนวนของคอลัมน์ 335 00:17:41,160 --> 00:17:43,920 สิ่งที่เป็นถ้าคุณพิมพ์ แถวเท่ากับสิ่งที่ไม่มี 336 00:17:43,920 --> 00:17:46,520 และไม่มีข้อความเทือกเขาเท่ากับสิ่งที่เมื่อ คุณกำลังเรียกฟังก์ชั่นนี้ 337 00:17:46,520 --> 00:17:47,770 คุณจริงสามารถกลับพวกเขา 338 00:17:47,770 --> 00:17:51,590 ดังนั้นคุณสามารถใส่ไม่มีพเป็นครั้งแรกและยังไม่มีแถว ที่สองและมันจะทำให้ไม่แตกต่างกัน 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 >> ดังนั้นตอนนี้สถิติที่เกิดขึ้นจริง stuff-- ถดถอย 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 >> ดังนั้นโดยทั่วไปก็ LM วงเล็บรายการแรก 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-- เพียงสรุป parens รูปแบบ 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 >> CONNER HARRIS: Sure 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 CONNER HARRIS: คุณจะได้ไม่ต้อง 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 แตกต่างจากศูนย์และอื่น ๆ 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-- ดังนั้นเหตุผลหลักที่คุณควร ใช้ R เช่นการถดถอย multilinear 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 >> คำสั่งเหล่านี้ระบุไว้ ที่นี่สายขและสาย 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, แต่ฉันไม่ได้ใช้เหล่านี้บุคคลที่สาม 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 เปิดหน้าต่าง terminal และ ประเภท 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 x 64 3 จุดสิ่งที่ 451 00:23:50,390 --> 00:23:53,110 ที่เปิดขึ้นที่นั่น 452 00:23:53,110 --> 00:23:58,850 >> ดังนั้นตอนนี้ให้ฉันเพียงแค่ เปิดหน้าต่าง terminal 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 CONNER HARRIS: คำสั่งอวกาศขอขอบคุณ 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 หน้าต่างใหม่คือการตั้งค่า พื้นฐานอาร์ดังนั้นคุณควรจะได้รับ 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 >> CONNER HARRIS: คำสั่ง-Plus 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 ตัวอย่างหนึ่งที่จะเป็นถ้าฉัน ต้องการเพียงแค่ช่วง 2-200 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 สมมติว่าข 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 ดังนั้นผมจึงวิธีการเกี่ยวกับที่ผมทำเช่นนี้ ค คือสมมติว่า 6 ครั้ง 1-10 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 >> CONNER HARRIS: ไม่มาก 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 เป็น subclass ของพฤติกรรมนี้ที่ อาร์เรย์ที่สั้นที่สุดเป็นเพียงตัวเลข 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 เพราะนั่นคือสิ่งที่อาร์ เอกสารมักจะไม่ 522 00:27:30,290 --> 00:27:33,070 มันเป็นนิสัยที่ฝังแน่นค 523 00:27:33,070 --> 00:27:37,590 >> ตกลงดังนั้นตอนนี้เรามีอาร์เรย์นี้ 524 00:27:37,590 --> 00:27:38,830 ดังนั้นเราจึงมีอาร์เรย์นี้ค 525 00:27:38,830 --> 00:27:41,380 เราจะได้รับบทสรุป สถิติเกี่ยวกับการคสรุปค 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 CONNER HARRIS: ไม่มีบันทึกเป็น ลอการิทึมธรรมชาติฐาน e ดังนั้น 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 ลองทำผมไม่ทราบว่า 2-13 553 00:29:10,317 --> 00:29:11,900 หรือฉันจะทำบางสิ่งบางอย่างที่น่าสนใจมากขึ้น 554 00:29:11,900 --> 00:29:13,770 ฉันจะทำ 2-4 555 00:29:13,770 --> 00:29:15,780 nRow เท่ากับสมมติว่า 3 556 00:29:15,780 --> 00:29:18,992 nCol เท่ากับ 4 557 00:29:18,992 --> 00:29:20,360 n 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 หากคุณต้องการที่จะใช้ การสลายตัว eigenvalue, 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 จากเมทริกซ์ eigenvectors เพราะ eigenvectors เป็นพาหะคอลัมน์ 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 ดังนั้นผลที่ตามมาที่นี่แน่นอนดูเหมือนว่า ถ้าเราเอาสามค่าเฉพาะที่นี่ 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-- จริงที่ไม่ได้จริงๆที่ดีที่สุด 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 เพื่อให้คุณสามารถ just-- คำสั่งสุดท้ายการประเมิน 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 ดังนั้นตอนนี้เราสามารถทำบำบัด 5, 1, และ นี้เป็นสิ่งที่คุณคาดหวัง 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 อย่างอื่นที่เราสามารถทำได้ เราสามารถทำได้จริงบำบัดข 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 >> ผู้ชม: มีเหตุผล ที่จะเขียนมันออกมาพร้อมกับข 621 00:32:48,405 --> 00:32:52,404 เท่ากับเมื่อเทียบกับเพียงแค่ใช้ ตัวเลขและเครื่องหมายจุลภาคหรือไม่ 622 00:32:52,404 --> 00:32:54,820 CONNER HARRIS: ใช่มักจะ ทำเช่นนี้ถ้าคุณมีฟังก์ชั่น 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 และวิธีการนี​​้คุณสามารถเท่านั้นหากต้องการดูคุณ สามารถอ้างถึงข้อโต้แย้งที่เฉพาะเจาะจง 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 หรือฉันสามารถเขียนนี้อีกครั้งกับ ค่าเริ่มต้นเช่นขเท่ากับ 2 630 00:33:19,710 --> 00:33:26,289 แล้วฉันจะทำฉบำบัด, ฉันจะทำ 4 ครั้งที่ 1 นี้ 631 00:33:26,289 --> 00:33:28,580 และ 17 ซึ่งเป็น 4 ยกกำลังสอง บวก 1 ในขณะที่คุณอาจคาดหวัง 632 00:33:28,580 --> 00:33:34,290 >> แต่ผมจะทำได้ก็เป็นเพียงแค่ เรียกสิ่งนี้กับบำบัด 4 633 00:33:34,290 --> 00:33:36,970 และฉันจะได้รับ 18 เพราะ ฉันไม่ได้ระบุข 634 00:33:36,970 --> 00:33:38,550 ดังนั้นขได้รับค่าเริ่มต้นของ 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 วัตถุประสงค์ที่มา with-- ที่มา โดยเริ่มต้นที่มีการกระจายของคุณอา 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-- ฉันลืมสิ่งที่จอ 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 หากคุณเพียงแค่ Google มอนแทนารถ จากนั้นหนึ่งในผลแรก 650 00:34:36,920 --> 00:34:38,730 จะมาจาก เอกสารอาอย่างเป็นทางการ 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 ดังนั้นตอนนี้เราสามารถทำสิ่งบางอย่างสนุก เกี่ยวกับรถยนต์มอนแทนาเป็นเขตข้อมูลที่ 656 00:34:55,850 --> 00:35:01,640 >> ดังนั้นเราสามารถทำสิ่ง เช่นชื่อแถว, รถเมา 657 00:35:01,640 --> 00:35:05,490 และนี่คือรายชื่อของแถวทั้งหมดใน ข้อมูลที่กำหนดซึ่งเป็นชื่อของรถยนต์ 658 00:35:05,490 --> 00:35:10,780 เราสามารถทำ colnames, เมารถนี้ 659 00:35:10,780 --> 00:35:15,500 ถ้าคุณทำเช่นเมารถ ดัชนีย่อยตัวเลขเช่น 2 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 >> CONNER HARRIS: ฉันพิมพ์ เมารถอีวงเล็บ 663 00:35:21,570 --> 00:35:24,180 ซึ่งทำให้ฉันที่สอง คอลัมน์ออกจากรถเมา 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 เพื่อขอทำค gets-- วาง นี้ pause-- 2 ครั้ง 1-10 675 00:36:17,130 --> 00:36:21,360 ดังนั้นคเป็นเพียงการไปได้ เวกเตอร์ที่ 2 ถึง 20 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 ค 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 สับสนระหว่างคเป็น เวกเตอร์ฟังก์ชั่นการก่อสร้าง 682 00:36:45,010 --> 00:36:48,800 แล้วคเป็นชื่อตัวแปร 683 00:36:48,800 --> 00:36:53,120 วงเล็บ vec ค 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 แล้วถ้าฉันอยากจะทำชิ้น ที่ฉันสามารถทำได้ vec 2 ถึง 6 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 ดังนั้น [ไม่ได้ยิน] รุ่น LM ขอถอยหลัง ไมล์ต่อแกลลอนน้ำหนักตัวหนอน 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 >> ดังนั้นเราจะมั่นใจได้มากที่จะ 1 อี 10 ถึงลบ 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 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 Model2 721 00:39:22,500 --> 00:39:24,800 ดังนั้นสรุป model2 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 เพิ่มน้ำหนักของ รถโดยปัจจัยที่อี 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 >> ดังนั้นเวลานี้มาตรฐานที่เหลือของเรา ข้อผิดพลาด it-- ที่ไม่ได้เรื่องจริงๆ 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 และอาร์ของเราสองที่นี่เป็น 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 และขอทำไมล์คิว เวลาไตรมาสไมล์ 736 00:40:21,130 --> 00:40:26,190 ตกลงจะต้องมี the-- สิทธิ์ 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 Actually-- ขออภัยอะไร? 740 00:40:35,000 --> 00:40:37,000 ผมขอเรียกสิ่งที่นี้ อื่นนอกเหนือจาก model2 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-- เราก็สามารถทำแปลงน้ำหนักแกลลอน 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 มีความช่วยเหลือ builtin ดีมาก คุณลักษณะ, คำพูดความช่วยเหลือชื่อทำงาน 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 ผมคิดว่าที่จริงผมจะทำเช่นนี้ ประเภทเท่ากับพีสำหรับการแปลงจุด 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 เราสามารถทำบางสิ่งบางอย่าง like-- ฉัน มีไวยากรณ์ที่เขียนขึ้นที่นี่ 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 ดังนั้นถ้าผมต้องการที่จะเพิ่มแบบที่ดีที่สุด บรรทัดที่ฉันจะทำแบบสายข 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 หรืออะไรเบื้องต้นสำหรับการวิจัย 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 คุณสามารถใช้เพื่อเรียกออกมาให้เห็น ฟังก์ชั่นที่มีอาร์ภายใน 828 00:46:23,130 --> 00:46:29,850 R ที่ถูกสร้างขึ้นในเลขคณิตซีอาร์เอสเป็นเพียง ซี 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 ข้อได้เปรียบของการใช้เช่นเดียวกับอาร์ มันเป็นบิตสะดวกสบายกว่าซี 834 00:46:45,920 --> 00:46:48,899 มันมีกราฟที่ดีขึ้น สิ่งอำนวยความสะดวกและ whatnot 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 >> การนำที่มีอยู่ในห้องสมุดซี นั่นคือสิ่งที่สำคัญ 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 และใน the-- และอีกครั้งเช่นถ้าคุณ ดูในส่วนของ R ห้องสมุดค่าเริ่มต้น 844 00:47:22,725 --> 00:47:25,600 ใน internals ที่ internals มี จะใช้ฟังก์ชั่นต่างประเทศ 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 ดังนั้นคำแนะนำต่อไปนี้ สำหรับระบบปฏิบัติการ Unix เหมือน 856 00:48:00,020 --> 00:48:05,150 Linux, BSD, OS X ได้ผมไม่ทราบว่า วิธีการทำงานนี้บน Windows, 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 อีกครั้งนี้เป็นสิ่งที่คุณควรจะมี สวยทั้งหมดลงหลังจากที่พีตั้งห้า 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 ดังนั้นวิธีการที่คุณสามารถ คำนวณผลิตภัณฑ์ dot 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 ปกติท​​ี่พวกเขาจะอยู่ในซี 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 >> ในแบบที่คุณเรียกสิ่งนี้ในการวิจัยคือครั้งเดียว คุณมีฟังก์ชั่นของคุณเขียนใน C, 898 00:50:11,840 --> 00:50:17,770 คุณพิมพ์ cmd shlib R, R คำสั่งห้องสมุดที่ใช้ร่วมกัน 899 00:50:17,770 --> 00:50:20,110 จุดค foo หรืออะไรก็ตาม ชื่อไฟล์ของคุณคือ 900 00:50:20,110 --> 00:50:23,020 และเปลือก OS ไม่ได้อยู่ในอาร์มินัล 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 จากนั้นก็มีฟังก์ชั่น ในการวิจัยที่เรียกว่าจุดค 905 00:50:35,720 --> 00:50:39,310 >> นี้จะใช้เวลาที่มีข้อโต้แย้ง ครั้งแรกที่ชื่อของฟังก์ชั่นในซี 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 >> ดังนั้นในกรณีนี้เพราะมีจุดแยง ข้อโต้แย้ง vec1, vec2 และ int n, n ออก 915 00:51:08,520 --> 00:51:11,980 เพื่อจุดคเรามีแยงจุด ชื่อของฟังก์ชัน 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 มันจะมีประสิทธิภาพมากขึ้นที่จะพูด s ระยะเวลาในนาทีจำนวนเต็มของ 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 >> อีกครั้งนี้ไม่ปกติ หัวข้อเบื้องต้นที่อาร์ 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 ขึ้นอยู่กับวิธีการดำเนินการวิจัยซ้ำ ภายในก็สามารถจะช้า 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 ฟังก์ชั่นเช่นการบำบัด 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 ซึ่งผม don't-- พวกเขากำลัง บิตยากที่จะอธิบาย 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 ฉันจะไม่ไปลงรายละเอียดของวิธีการ allocators หน่วยความจำที่จะดำเนินการ 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 ในหน่วยความจำ allocators จุดของมุมมอง 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 ยาวเวกเตอร์ เท่ากับ 1,000 หรืออะไรก็ตาม 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 ฉันวิ่งเข้าไปในนี้อีกครั้งในช่วงฤดู​​ร้อนของฉันงาน เมื่อผมเขียนชมรมที่แตกต่างกัน 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 จากตัวชี้เก่า [ไม่ได้ยิน] ชี้ให้เป็นโมฆะก็แค่ 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 แต่ null จะ do-- ฟังก์ชั่น จะทำในสิ่งที่คาดเดาไม่ได้ 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 นี้จะเทียบเท่ากับยืนยันของซี ถ้าคุณได้พูดคุยเกี่ยวกับการที่ 1046 00:58:00,480 --> 00:58:02,690 ฉันไม่คิดว่าซียืนยัน หัวข้อการบรรยาย 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 โดยใช้การวิจัยในโครงการสุดท้าย 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 >> CONNER HARRIS: แน่นอน 1078 00:59:30,617 --> 00:59:34,910 >> ผู้ชม: สิ่งที่ชนิดของโครงการ นักเรียนจะใช้ซีอาร์? 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 CONNER HARRIS: ดังนั้นถ้าคุณไม่ได้ทำ สิ่งที่หมดจดในการทำเหมืองข้อมูล 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 คุณอาจต้องการที่จะใช้สำหรับการวิจัย ส่วนหนึ่งของบางสิ่งบางอย่าง 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 เช่นว่าบางสิ่งบางอย่าง คุณอาจต้องการที่จะใช้สำหรับการวิจัย 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