1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 CONNOR HARRIS: Still I ვფიქრობ, რამდენიმე საინტერესო ვიდეო 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 რომ დღევანდელი brightest მონაცემები მეცნიერები და ბიზნეს-ლიდერები დაეყრდნოს 6 00:00:19,770 --> 00:00:22,012 იმისათვის, რომ ძლიერი გადაწყვეტილებებს? 7 00:00:22,012 --> 00:00:23,540 თქვენ შეიძლება ყოველთვის არ დანახვა. 8 00:00:23,540 --> 00:00:24,790 მაგრამ ეს არ არსებობს. 9 00:00:24,790 --> 00:00:29,460 ეს ე.წ. R, ღია R-- სტატისტიკური პროგრამირების ენა 10 00:00:29,460 --> 00:00:32,630 რომ მონაცემები ექსპერტები მსოფლიოში გამოყენების გამო ყველაფერი 11 00:00:32,630 --> 00:00:35,350 საწყისი რუკების ფართო სოციალური და მარკეტინგული ტენდენციები ონლაინ 12 00:00:35,350 --> 00:00:39,210 განვითარებადი ფინანსური და კლიმატის მოდელები, რომ დავეხმაროთ მართოს ჩვენი ეკონომიკა 13 00:00:39,210 --> 00:00:40,780 და თემებში. 14 00:00:40,780 --> 00:00:44,910 >> მაგრამ რა არის R და სად R დაიწყოს? 15 00:00:44,910 --> 00:00:48,620 ისე თავდაპირველად, R დაიწყო აქ ორი პროფესორი 16 00:00:48,620 --> 00:00:51,950 ვისაც სურდა უკეთესი სტატისტიკური პლატფორმა მათი სტუდენტი. 17 00:00:51,950 --> 00:00:56,030 ასე რომ, ისინი შეიქმნა ერთი მოდელირებული მას შემდეგ, რაც სტატისტიკური ენის S. 18 00:00:56,030 --> 00:01:00,480 ისინი ერთად მრავალი სხვა, შრომობს და გამოყენებით R, 19 00:01:00,480 --> 00:01:05,489 შექმნა ინსტრუმენტები R და მოძიებაში ახალი განაცხადების R ყოველდღე. 20 00:01:05,489 --> 00:01:07,750 >> მადლობა, რომ ეს არის მსოფლიო თანამეგობრობამ ძალისხმევა, 21 00:01:07,750 --> 00:01:11,850 R იზრდებოდა ათასობით მომხმარებლის შექმნა ბიბლიოთეკების აშენებული 22 00:01:11,850 --> 00:01:15,500 რათა გაზარდოს R ფუნქციონირება და გულშემატკივარი- sourced ხარისხის დადასტურება 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: OK, დიდი. 31 00:01:47,710 --> 00:01:50,360 ასე რომ, ჩემი საკუთარი პრეზენტაცია იქნება ცოტა უფრო ფხიზელი. 32 00:01:50,360 --> 00:01:54,380 ეს არ გულისხმობს, რომ ბევრი საინტერესო ფონური მუსიკა. 33 00:01:54,380 --> 00:01:59,160 მაგრამ, როგორც ვნახეთ, ვიდეო, R არის ერთგვარი ზოგადი მიზანი პროგრამის ენაზე. 34 00:01:59,160 --> 00:02:03,720 მაგრამ ეს იყო ის, ძირითადად, სტატისტიკური მუშაობა. 35 00:02:03,720 --> 00:02:07,980 >> ასე რომ, ის განკუთვნილია სტატისტიკა, მონაცემების ანალიზი, მონაცემების მოპოვება. 36 00:02:07,980 --> 00:02:12,420 და ასე რომ თქვენ ხედავთ, ამ ბევრი დიზაინი არჩევანი, რომ შემქმნელებს R 37 00:02:12,420 --> 00:02:13,320 გააკეთა. 38 00:02:13,320 --> 00:02:15,472 ის განკუთვნილია ძირითადად, ადამიანები, რომლებიც არ 39 00:02:15,472 --> 00:02:17,930 ექსპერტები პროგრამირების, რომელიც მხოლოდ კრეფა პროგრამირების 40 00:02:17,930 --> 00:02:23,460 მხარეს, რათა მათ შეუძლიათ მათი მუშაობა სოციალურ მეცნიერებათა და სტატისტიკის 41 00:02:23,460 --> 00:02:25,440 ან რასაც. 42 00:02:25,440 --> 00:02:27,850 >> მას აქვს ძალიან ბევრი მნიშვნელოვანი განსხვავებები C. 43 00:02:27,850 --> 00:02:33,200 მაგრამ სინტაქსი და პარადიგმების რომ იგი იყენებს ფართოდ იგივე. 44 00:02:33,200 --> 00:02:36,830 და თქვენ უნდა გრძნობენ საკმაოდ ბევრი სახლში უფლება off bat. 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 თუ თქვენ იმუშავებს R. ერთი მათ ოფიციალური R დამწყები 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 ყველა ეს სლაიდები ვაპირებთ წასვლა ინტერნეტში, on 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 ეს არ არის პრინციპულად რ წიგნი. 73 00:04:04,010 --> 00:04:07,130 ეს არის სტატისტიკური წიგნი და ეს არის მონაცემთა ანალიზი წიგნი. 74 00:04:07,130 --> 00:04:11,990 მაგრამ ეს ძალიან ხელმისაწვდომი ადამიანები, რომლებიც აქვს მცირედი სტატისტიკა ცოდნა. 75 00:04:11,990 --> 00:04:13,750 >> მე არასოდეს მიღებული ფორმალური რა თქმა უნდა. 76 00:04:13,750 --> 00:04:17,269 მე მხოლოდ ის ვიცი ბიტი და ცალი სხვადასხვა მომიჯნავე საგნები 77 00:04:17,269 --> 00:04:18,579 რომ მე აღებული კურსები. 78 00:04:18,579 --> 00:04:21,839 და მე შეძლო ესმის კარგად. 79 00:04:21,839 --> 00:04:25,630 >> ყველა მოღვაწეები გეძლევათ რ ისინი მზადდება R 80 00:04:25,630 --> 00:04:30,280 და აქვთ კოდი განცხადების ქვემოთ თითოეული ფიგურა, რომ გითხრათ, 81 00:04:30,280 --> 00:04:33,270 თუ როგორ, რათა თითოეული ფიგურა R კოდი. 82 00:04:33,270 --> 00:04:37,400 და ეს არის ძალიან სასარგებლო, თუ თქვენ ცდილობთ მიბაძოს 83 00:04:37,400 --> 00:04:38,650 ზოგიერთი მოღვაწის ხედავთ წიგნი. 84 00:04:38,650 --> 00:04:47,840 >> ისევ და ისევ უფასო ჩამოტვირთვა stat.cmu.edu/cshalizi/ ბოდიში, 85 00:04:47,840 --> 00:04:50,230 რომ უნდა სლეში tilde 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 უფლება off bat, აპირებს რაც შეიძლება სწრაფად. 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 ვიზუალიზაცია, თქვენ უნდა გამოვიყენოთ R. თუ თქვენ 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 და შემდეგ ყოველ საღამოს 2:00 AM, ან როცა თქვენ დანიშნოს იგი აწარმოებს, 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 არის Cisco პროგრამირების წინააღმდეგ Cisco ანალიზი. 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 იგი ეცდება, წავიკითხე, რომ string როგორც რაოდენობის, ისე 138 00:07:20,030 --> 00:07:25,897 რომ a2i და scanf გაკეთება, და C. თუ თქვენ მოვუწოდებთ როგორც რიცხვითი ჭეშმარიტი ან ცრუ 139 00:07:25,897 --> 00:07:26,980 ეს იქნება კონვერტირება 1 ან 0. 140 00:07:26,980 --> 00:07:29,110 თუ თქვენ მოვუწოდებთ როგორც ხასიათი არაფერი, იგი ყველაფერს 141 00:07:29,110 --> 00:07:32,550 გარდაქმნას, რომ შევიდა სიმებიანი წარმომადგენლობა. 142 00:07:32,550 --> 00:07:34,990 >> და მაშინ არსებობს ვექტორები და მატრიცების. 143 00:07:34,990 --> 00:07:37,580 ასე რომ, ვექტორები, ძირითადად, 1 განზომილებიანი მასივები. 144 00:07:37,580 --> 00:07:40,600 ისინი, რაც ჩვენ მოვუწოდებთ კოლექტორები წელს C. მატრიცების, 2 განზომილებიანი მასივები. 145 00:07:40,600 --> 00:07:42,350 და შემდეგ უმაღლესი განზომილებიანი მასივები შეგიძლიათ 146 00:07:42,350 --> 00:07:48,560 აქვს 3, 4, 5 ზომები ან რასაც რიცხვითი ღირებულებებს, სიმები, 147 00:07:48,560 --> 00:07:52,860 ლოგიკური ღირებულებებს. 148 00:07:52,860 --> 00:07:55,380 >> თქვენ ასევე სიები, რომლებიც სახის ასოციაციურ მასივში. 149 00:07:55,380 --> 00:07:57,390 მე შეღწევას, რომ ცოტა. 150 00:07:57,390 --> 00:07:59,390 ასე რომ, ერთი მთავარია რომ ვიზიტებს ადამიანი წელს R 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 ასე რომ, ჩვენ გვაქვს სიმებიანი იოანე, string 42. 170 00:08:54,760 --> 00:08:58,250 171 00:08:58,250 --> 00:09:02,025 >> ასე რომ, უჩვეულო სინტაქსური features-- ყველაზე რ სინტაქსი ძალიან ჰგავს C. 172 00:09:02,025 --> 00:09:04,690 არსებობს რამდენიმე მნიშვნელოვანი განსხვავებები. 173 00:09:04,690 --> 00:09:05,620 Typing ძალიან სუსტია. 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 კომენტარები არიან hash ნიშნის. 177 00:09:15,340 --> 00:09:19,230 ვფიქრობ, ახლა დღის განმავლობაში ჩვენ მას hashtag მიუხედავად იმისა, რომ ეს არ არის ნამდვილად accurate-- არა 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 up, თუ ისინი უფრო ტიპიური პროგრამირების ენების, 187 00:09:47,540 --> 00:09:50,450 C, სადაც ყველაზე რამ არის ნულოვანი ინდექსირებული. 188 00:09:50,450 --> 00:09:54,420 ისევ და ისევ, ეს არის, სადაც R მემკვიდრეობის როგორც ენის, როგორც არ 189 00:09:54,420 --> 00:09:56,560 პროფესიონალი პროგრამისტების მოდის. 190 00:09:56,560 --> 00:09:59,680 თუ თქვენ სოციოლოგი ან ეკონომისტი ან რამე 191 00:09:59,680 --> 00:10:01,980 და თქვენ ცდილობთ გამოიყენოთ R ძირითადად როგორც კითხულობს 192 00:10:01,980 --> 00:10:03,832 თქვენი უფრო მნიშვნელოვანია პროფესიული მუშაობა, 193 00:10:03,832 --> 00:10:06,040 თქვენ ვაპირებთ ერთი ინდექსირებას ცოტა უფრო ბუნებრივი. 194 00:10:06,040 --> 00:10:09,890 იმიტომ, რომ თქვენ დაიწყოს დამთვლელი 1 ყოველდღიურ ცხოვრებაში, არ არის 0. 195 00:10:09,890 --> 00:10:13,260 >> იყიდება მარყუჟების, ეს არის მსგავსი foreach მშენებლობა PHP, 196 00:10:13,260 --> 00:10:17,090 რომელიც თქვენ მიიღებთ ვისწავლოთ შიგნით საკმაოდ მალე. 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 აუდიტორია: OK. 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 >> ასე რომ, თუ თქვენ ცდილობენ მშენებლობა array იყო პირველი ელემენტი 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 a რომელიც დგას დაკარგული მნიშვნელობა. 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 Vector სახელი კვადრატულ ფრჩხილებში 2 მოგცემთ მეორე ელემენტს. 239 00:12:25,510 --> 00:12:27,530 >> თქვენ შეგიძლიათ გაიაროს ვექტორი მაჩვენებლების და თქვენ 240 00:12:27,530 --> 00:12:29,640 დავუბრუნდეთ ძირითადად sub ფაქტორი. 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 მათ აქვთ სპეციალური notation სინტაქსი. 250 00:13:01,190 --> 00:13:07,620 Matrix მასივი, რომელიც იღებს სავსე შიგნით ბოდიში, matrix მონაცემები, 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 ააშენა matrix გამრავლების, 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 სინტაქსი მასივი dim ტოლია c, მაშინ სიაში ზომები. 262 00:13:34,400 --> 00:13:38,620 ასე რომ, თუ გსურთ 4 განზომილებიანი მასივი ზომები 4, 7, 8, 9, მასივი, 263 00:13:38,620 --> 00:13:45,470 dim ტოლია c (4,7,8,9). 264 00:13:45,470 --> 00:13:51,180 >> თქვენ შედიხართ ერთ ღირებულებები ფრჩხილებში პირველი შესვლის მძიმით მეორე ჩანაწერში. 265 00:13:51,180 --> 00:13:54,870 თქვენ შეგიძლიათ მიიღოთ მთელი ნაჭერი სტრიქონების ან სვეტების. 266 00:13:54,870 --> 00:13:59,900 ამ არასრული სინტაქსი ეს უბრალოდ რიგის ნომერი მძიმით ან მძიმით სვეტი 267 00:13:59,900 --> 00:14:00,400 ნომერი. 268 00:14:00,400 --> 00:14:02,874 269 00:14:02,874 --> 00:14:04,540 ასე რომ სიები ერთგვარი ასოცირებული მასივი. 270 00:14:04,540 --> 00:14:06,360 მათ აქვთ საკუთარი სინტაქსი აქ. 271 00:14:06,360 --> 00:14:08,320 ისევ და ისევ არ გამალებით დააკოპირეთ ყველა ქვემოთ. 272 00:14:08,320 --> 00:14:11,370 ეს არის მხოლოდ იმიტომ, რომ ადამიანი გადის სლაიდები შემდეგ 273 00:14:11,370 --> 00:14:13,089 გვაქვს ეს ყველაფერი ლამაზი მითითება. 274 00:14:13,089 --> 00:14:16,130 და ეს იქნება ძალიან ბუნებრივი ერთხელ მე რეალურად გავლა demos. 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 როდესაც მე მივიღე ყველა სახის შემთხვევითი infinities cropping up 292 00:15:16,000 --> 00:15:16,790 ამ ფუნქციას. 293 00:15:16,790 --> 00:15:20,730 იმიტომ, რომ თუ ვრცელდება გარკვეული მაქსიმალური ან მინიმალური ფუნქციები null, 294 00:15:20,730 --> 00:15:22,570 თქვენ მიიღებთ უსასრულო ფასეულობების გარეთ. 295 00:15:22,570 --> 00:15:26,400 296 00:15:26,400 --> 00:15:29,180 >> მონაცემთა ფარგლებში, ისინი ქვეკლასით სიაში. 297 00:15:29,180 --> 00:15:31,170 ყოველი ღირებულება ვექტორული იმავე სიგრძის. 298 00:15:31,170 --> 00:15:34,220 და ისინი გამოიყენება წარდგენის, ძირითადად, მონაცემთა ცხრილები. 299 00:15:34,220 --> 00:15:36,175 არსებობს ამ ინიციალიზაციისას სინტაქსი. 300 00:15:36,175 --> 00:15:38,800 ეს იქნება ყველა, კიდევ ერთხელ, იქნება ბევრად ნათელი, როდესაც თქვენ მიიღებთ დემო. 301 00:15:38,800 --> 00:15:42,240 302 00:15:42,240 --> 00:15:44,240 და ლამაზი რამ შესახებ მონაცემები ფარგლებში არის, რომ თქვენ 303 00:15:44,240 --> 00:15:49,380 შეუძლია სახელები ყველა სვეტები და სახელები რიგები. 304 00:15:49,380 --> 00:15:53,890 და ისე, რომ ხდის წვდომის მათ ცოტა მეგობრულად. 305 00:15:53,890 --> 00:15:59,130 ასევე, ეს არის, თუ როგორ ყველაზე ფუნქციები, რომელიც წაიკითხონ მონაცემების Excel ცხრილები 306 00:15:59,130 --> 00:16:03,820 ან ტექსტური ფაილი, მაგალითად, წაიკითხავს მათი მონაცემები. 307 00:16:03,820 --> 00:16:07,555 ისინი ამას შევიდა გარკვეული მონაცემები ჩარჩო. 308 00:16:07,555 --> 00:16:09,680 ასე რომ, ფუნქციები ფუნქციები სინტაქსი არის ცოტა უცნაურია. 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 ერთი, შეგიძლიათ რეალურად მივანიჭოთ default ღირებულებების გარკვეული არგუმენტები. 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 მაგალითად პირობა შეთქმულება გრაფიკის ან შეთქმულება scatter ნაკვეთები 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 ეს არის ლამაზი, რომ ამ default ღირებულებების. 326 00:17:09,299 --> 00:17:12,700 327 00:17:12,700 --> 00:17:19,146 >> და მაშინ თქვენ შეგიძლიათ რეალურად წერენ, როგორც თქვენ ნახეთ უკან აქ. 328 00:17:19,146 --> 00:17:22,869 ან იპოვოთ უკეთესი მაგალითი. 329 00:17:22,869 --> 00:17:28,690 როცა რეკავთ ფუნქციების თქვენ შეგიძლიათ რეალურად მოვუწოდებთ მათ გამოყენებით არგუმენტი სახელები. 330 00:17:28,690 --> 00:17:33,919 ასე რომ, აქ არის მაგალითი იმისა, მატრიცა მშენებელი. 331 00:17:33,919 --> 00:17:34,960 იგი იღებს სამი არგუმენტები. 332 00:17:34,960 --> 00:17:36,760 როგორც წესი, თქვენ გაქვთ მონაცემები, რომელიც არის ვექტორი. 333 00:17:36,760 --> 00:17:38,920 თქვენ გაქვთ N ზედიზედ, რომელიც არის სტრიქონების რაოდენობა. 334 00:17:38,920 --> 00:17:41,160 თქვენ გაქვთ N cols-- მწკრივების რიცხვი. 335 00:17:41,160 --> 00:17:43,920 საქმე ის არის, თუ ჩაწერეთ N ზედიზედ უდრის, რაც არ უნდა 336 00:17:43,920 --> 00:17:46,520 და N col უდრის, რაც არ უნდა, როდესაც თქვენ მოუწოდებდა ამ ფუნქციას, 337 00:17:46,520 --> 00:17:47,770 თქვენ შეგიძლიათ რეალურად დავამარცხებთ მათ. 338 00:17:47,770 --> 00:17:51,590 ასე რომ, შეგიძლიათ N col პირველი და N row მეორე და ეს არაფერს შეცვლის. 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 By default 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 tilde 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 არის ცვლადი უკაცრავად, დამოკიდებული ცვლადი tilde 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 ფუნქცია core. 381 00:20:09,170 --> 00:20:11,856 მეთოდი არის რა Pearson კორელაცია. 382 00:20:11,856 --> 00:20:13,480 ეს არის სტანდარტული პირობა შეგიძლიათ გააკეთოთ. 383 00:20:13,480 --> 00:20:15,990 არსებობს ასევე Spearman და 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: რა თქმა უნდა. 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 კოეფიციენტებს საუკეთესო fit ონლაინ. 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 ფერდობზე საუკეთესო fit ხაზი სტატისტიკურად 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 ის სინტაქსი რეგრესია ცოტა arcane. 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 და მაშინ ellipses დგას ძალიან დიდი რაოდენობით სურვილისამებრ არგუმენტები, რომ 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 თქვენ შეგიძლიათ scatter მიწის ნაკვეთების და ხაზი ნაკვეთები. 413 00:21:42,250 --> 00:21:47,900 414 00:21:47,900 --> 00:21:49,710 >> [INAUDIBLE] 2 ვექტორები იმავე სიგრძის. 415 00:21:49,710 --> 00:21:53,780 თქვენ შეგიძლიათ წინ უძღვის ამ ანიჭებენ მონაცემთა ჩარჩო თქვენი სცენარი. 416 00:21:53,780 --> 00:22:01,220 და ეს ნება თქვენ უბრალოდ გამოიყენოთ სვეტი headers ნაცვლად ცალკე ვექტორები. 417 00:22:01,220 --> 00:22:05,410 თქვენ შეგიძლიათ დაამატოთ საუკეთესო fit ხაზები და ადგილობრივი რეგრესია მოსახვევებში თქვენს გრაფაში. 418 00:22:05,410 --> 00:22:09,390 >> ეს ბრძანებები ჩამოთვლილი აქ, ab ხაზი და ხაზები, 419 00:22:09,390 --> 00:22:11,640 სტანდარტულად ვიღებთ დაწერილი pop up ფანჯარა 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 გააუქმოს, რომ თქვენ უნდა გამოიყენოს მე არ წერენ ამ წელს slide-- 429 00:22:45,110 --> 00:22:49,650 მაგრამ არსებობს ფუნქცია მოუწოდა dev dot off, რომ იღებს არ არგუმენტები. 430 00:22:49,650 --> 00:22:51,517 >> მაშინ არსებობს საშუალებები for 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 და შემდეგ შეგიძლიათ გამოიყენოთ მესამე მხარის პროგრამაში 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 ასე რომ, თუ თქვენ იყენებთ Unix ნებისმიერი მსგავსი სისტემა რომელიც Linux BSD მაგრამ ვინც იყენებს BSD. 447 00:23:37,189 --> 00:23:39,730 OS X გახსენით ტერმინალი ფანჯარა და აკრიფეთ R ბრძანებათა ზოლზე. 448 00:23:39,730 --> 00:23:42,820 თუ თქვენ გაქვთ R სტუდიაში ან მოსწონს, რომ ასევე მუშაობს. 449 00:23:42,820 --> 00:23:46,270 Windows მომხმარებლებს თქვენ უნდა შევძლოთ R თქვენს Start მენიუში. 450 00:23:46,270 --> 00:23:50,390 ეს უნდა ეწოდოს რაღაც როგორიცაა R x64 3 წერტილი რასაც. 451 00:23:50,390 --> 00:23:53,110 გახსნა, რომ არსებობს. 452 00:23:53,110 --> 00:23:58,850 >> ასე რომ, ახლა ნება მომეცით გახსენით ტერმინალი ფანჯარა. 453 00:23:58,850 --> 00:24:02,562 ყველა უფლება, ძიება. 454 00:24:02,562 --> 00:24:03,520 აუდიტორია: Command ფართი 455 00:24:03,520 --> 00:24:06,675 CONNER HARRIS: Command ფართი, დიდი მადლობა. 456 00:24:06,675 --> 00:24:10,030 მე, ჩვეულებრივ, არ გამოიყენოთ Macs. 457 00:24:10,030 --> 00:24:13,310 Terminal, ნახოთ ახალ ფანჯარაში. 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 Arrow 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 >> აუდიტორია: Command-Plus 470 00:24:53,030 --> 00:24:53,650 >> CONNER HARRIS: Command-Plus. 471 00:24:53,650 --> 00:24:54,191 Command-Plus. 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 ნუ, arrow, C 1,2,4. 478 00:25:08,710 --> 00:25:11,181 ჩვენ ვხედავთ. 479 00:25:11,181 --> 00:25:12,680 არ ინერვიულოთ შესახებ bracket არსებობს. 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 ამიტომ anyhow, ჩვენ გვაქვს. 487 00:25:38,280 --> 00:25:43,326 >> ასე რომ, მე ვთქვი, რომ კოლექტორები ურთიერთქმედება ძალიან ლამაზად, მაგალითად, 488 00:25:43,326 --> 00:25:44,450 unary ოპერაციების მოსწონს ეს. 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 Yep. 492 00:25:51,140 --> 00:25:54,250 მარჯვენა, ახლა მე მიიღოს ამ სხვადასხვა მასივი. 493 00:25:54,250 --> 00:26:01,650 მოდით, ვთქვათ, ბ გ 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 [INAUDIBLE] 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 როგორც ქვეკლასით ეს საქციელი, სადაც უმოკლეს მასივი არის რიცხვი 519 00:27:22,190 --> 00:27:25,410 1, რომელიც არის ერთ-ერთი ელემენტია მასივი. 520 00:27:25,410 --> 00:27:27,740 მე უბრალოდ იყოს განაცხადა, ვექტორი ყველა დროის ნაცვლად მასივი, 521 00:27:27,740 --> 00:27:30,290 იმიტომ, რომ ის, რაც r დოკუმენტაცია ჩვეულებრივ აკეთებს. 522 00:27:30,290 --> 00:27:33,070 ეს ღრმა გ ჩვევა. 523 00:27:33,070 --> 00:27:37,590 >> OK, და ახლა ჩვენ გვაქვს ეს მასივი. 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 ასე რომ, ახლა მოდით გავაკეთოთ ზოგიერთი matrix რამ. 530 00:27:52,670 --> 00:27:56,160 მოდით ვთქვათ მ არის მატრიცა. 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 და მონაცემების მოდით გავაკეთოთ ისე, რა როგორ ფიქრობთ, აპირებს? 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 და ყველა ის ღირებულებები, შევსება up მასივი ბოდიში? 544 00:28:37,285 --> 00:28:38,660 აუდიტორია: ეს არის ბაზა 10 ჟურნალი? 545 00:28:38,660 --> 00:28:41,284 CONNER HARRIS: არა, ჟურნალი ბუნებრივი logarithms, ასე ბაზა 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 ასე რომ, მონაცემები [INAUDIBLE] მხოლოდ ავსებს მასივი, ასე რომ ზემოდან, 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 იმიტომ, რომ ო. 561 00:29:27,680 --> 00:29:30,234 562 00:29:30,234 --> 00:29:31,400 და ჩვენ გვაქვს matrix პროდუქცია. 563 00:29:31,400 --> 00:29:33,970 564 00:29:33,970 --> 00:29:37,810 By მათ გზა, ხედავთ, როგორ როცა განაცხადა, N, 2-დან 4 565 00:29:37,810 --> 00:29:43,570 ვექტორი მიიღო ჩავიდა, სანამ ის შეივსო ყველა ო? 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 ჩვენ შეგვიძლია ამის გაკეთება eigen 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 >> ასე რომ, eigen 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 საწყისი საკუთრივი ვექტორი matrix, რადგან საკუთრივი ვექტორი არის სვეტი ვექტორები. 576 00:30:13,080 --> 00:30:24,400 ასე რომ, ჩვენ შეგვიძლია გავაკეთოთ Vec eigen n დოლარის ნიშანი ვექტორები, მძიმით -3 [INAUDIBLE]. 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 >> მაშინ ამბობენ ო ჯერ პროცენტს ჯერ Vec. 581 00:30:39,210 --> 00:30:42,610 582 00:30:42,610 --> 00:30:48,320 ასე რომ შედეგი აქ, რა თქმა ჰგავს თუ ავიღეთ მესამე eigenvalue აქ, 583 00:30:48,320 --> 00:30:50,390 რომელიც შეესაბამება მესამე eigenvector. 584 00:30:50,390 --> 00:30:53,190 უბრალოდ მრავლდება ყველაფერი ამ eigenvector, კომპონენტი ბრძენი, 585 00:30:53,190 --> 00:30:53,990 მიერ eigenvalue. 586 00:30:53,990 --> 00:30:57,760 და რომ ის, რაც ჩვენ ველით, იმიტომ, რომ ის, რაც eigenvalues ​​არიან. 587 00:30:57,760 --> 00:31:00,890 აქვს ვინმეს აქ არ არის მიღებული წრფივი ალგებრა? 588 00:31:00,890 --> 00:31:02,530 რამდენიმე ადამიანი, OK. 589 00:31:02,530 --> 00:31:04,030 უბრალოდ ჩართოთ თქვენი ტვინი off ცოტა. 590 00:31:04,030 --> 00:31:07,490 591 00:31:07,490 --> 00:31:20,720 მართლაც, თუ ჩვენ ვიღებთ eigen n დოლარის ნიშანი ღირებულებების 3-ჯერ Vec, 592 00:31:20,720 --> 00:31:21,810 ასევე მიიღოს იგივე. 593 00:31:21,810 --> 00:31:24,726 ეს ფორმატირებული სხვაგვარად a row ვექტორი ნაცვლად სვეტი ვექტორი, 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 >> ასე ვთქვათ [INAUDIBLE] ფუნქცია, მოდით, 600 00:31:41,750 --> 00:31:51,960 ეს func წინააღმდეგ ფუნქცია n n კვადრატი ფაქტობრივად, ეს ნამდვილად არ არის საუკეთესო. 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 ასე რომ, ამ შემთხვევაში, ჩვენ მხოლოდ შეფასების ერთ განცხადებაში, კვადრატს დამატებული b. 608 00:32:10,460 --> 00:32:12,043 ეს იქნება ძირითადად დაბრუნებული მნიშვნელობა. 609 00:32:12,043 --> 00:32:14,530 მას არასოდეს გტკივა დააყენა დაბრუნების ღირებულებების მკაფიოდ, 610 00:32:14,530 --> 00:32:16,880 განსაკუთრებით თუ თქვენ საქმე ფუნქცია ძალიან რთული ლოგიკა 611 00:32:16,880 --> 00:32:17,380 შემოვა. 612 00:32:17,380 --> 00:32:18,450 მაგრამ თქვენ არ გვჭირდება. 613 00:32:18,450 --> 00:32:24,890 ასე რომ, ახლა ჩვენ შეგვიძლია გავაკეთოთ func 5, 1, ეს არის ძირითადად რა ნეტავ მოველით. 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 რაღაც ჩვენ შეგვიძლია გავაკეთოთ, ჩვენ შეგვიძლია რეალურად გავაკეთოთ func ბ 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 ფუნქცია, ჩვენ შეგვიძლია Flip გარშემო ამ ღირებულებების სადაც ჩვენ გვინდა. 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 და ამ გზით თქვენ შეგიძლიათ only-- თქვენ შეუძლია მიმართოს კონკრეტული არგუმენტები 627 00:33:06,740 --> 00:33:09,110 რომ გსურთ გამოიყენოთ არასამთავრობო default ღირებულებებს, 628 00:33:09,110 --> 00:33:14,470 და თქვენ არ უნდა დაწეროს გარეთ bunch of დროშები ტოლია ცრუ მათ. 629 00:33:14,470 --> 00:33:19,710 ან შემიძლია დაწერა ეს კიდევ ერთხელ ნაგულისხმები მნიშვნელობა, როგორიც ბ უტოლდება 2. 630 00:33:19,710 --> 00:33:26,289 და მაშინ მე ვერ გავაკეთებ f func, მე ყველაფერს გავაკეთებ 4, 1 ამ დროს. 631 00:33:26,289 --> 00:33:28,580 და 17, რომელიც 4-ის კვადრატს პლუს 1, როგორც თქვენ შეიძლება ველოდოთ. 632 00:33:28,580 --> 00:33:34,290 >> მაგრამ მე შეიძლება ასევე მხოლოდ დარეკეთ ამ func 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 >> OK, ასე რომ, ახლა, თუ თქვენ შემდეგ ერთად დემო, 637 00:33:47,200 --> 00:33:51,010 ჩაწერეთ ეს ხაზი თქვენი ბრძანება შეგახსენებთ, და რა მოდის up. 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-- რომ მოდის in იყოს თქვენი r გავრცელება. 644 00:34:13,550 --> 00:34:19,211 ეს არის შედგენილი სტატისტიკური მონაცემები 1974 საკითხი Motor Trend ჟურნალი 645 00:34:19,211 --> 00:34:20,710 მთელ რიგ სხვადასხვა მანქანის მოდელები. 646 00:34:20,710 --> 00:34:28,270 >> ასე რომ, არსებობს მილი gallon, cylinders-- მე დაგვავიწყდეს, რა disp is-- ცხენის. 647 00:34:28,270 --> 00:34:31,610 648 00:34:31,610 --> 00:34:32,420 ალბათ. 649 00:34:32,420 --> 00:34:36,920 თუ უბრალოდ Google MT მანქანები, შემდეგ ერთ-ერთი პირველი შედეგები 650 00:34:36,920 --> 00:34:38,730 იქნება საწყისი ოფიციალური r დოკუმენტაცია 651 00:34:38,730 --> 00:34:41,080 და ის აგიხსნით ყველა ეს მონაცემები სფეროებში. 652 00:34:41,080 --> 00:34:47,020 ასე რომ, წონის is-- wt არის წონის მანქანა ტონა. 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 ასე რომ, ახლა ჩვენ შეგვიძლია გავაკეთოთ გარკვეული fun რამ შესახებ MT მანქანა არის მონაცემების სფეროში. 656 00:34:55,850 --> 00:35:01,640 >> ასე რომ, ჩვენ შეგვიძლია გავაკეთოთ რამ როგორიცაა ზედიზედ სახელები, mt მანქანა. 657 00:35:01,640 --> 00:35:05,490 და ეს არის სიაში ყველა სტრიქონების მონაცემები კომპლექტი, რომლებიც სახელები მანქანები. 658 00:35:05,490 --> 00:35:10,780 ჩვენ შეგვიძლია ამის გაკეთება colnames, mt მანქანაზე. 659 00:35:10,780 --> 00:35:15,500 თუ თქვენ mt მანქანები, ქვე-ციფრული ინდექსის, როგორც 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: მე აკრეფილი mt მანქანები, ფრჩხილებში e, 663 00:35:21,570 --> 00:35:24,180 რომელიც მომცა მეორე სვეტი გარეთ mt მანქანა. 664 00:35:24,180 --> 00:35:34,501 665 00:35:34,501 --> 00:35:38,110 თუ ჩვენ გვინდა, ზედიზედ, შემიძლია აკრიფოთ mtcars მძიმით 2, მაგალითად. 666 00:35:38,110 --> 00:35:41,850 667 00:35:41,850 --> 00:35:46,390 სხვა რაუნდი 2 მძიმე, როგორიცაა, რომ. 668 00:35:46,390 --> 00:35:48,880 და რომ მიდის თქვენი row. 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 ზოგიერთი cool რამ ვექტორები რომ შეგიძლიათ გააკეთოთ ინდექსები. 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 მე ვერ გაივლის ვექტორი როგორც ეს, რომ გ მიადევნე თვალი 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 ეს მიიღებთ me out მეოთხე, მეხუთე, და შვიდი ელემენტები მასივი. 685 00:36:56,540 --> 00:37:01,740 მე შემიძლია ამის Vec, უარყოფით ინდექსი, როგორიცაა -4. 686 00:37:01,740 --> 00:37:06,500 რომ მიიღებს me out ამ მეოთხე ელემენტს ამოიღეს. 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 Spits, რომ. 690 00:37:18,230 --> 00:37:20,770 >> ამიტომ anyhow, უკან mt მანქანა. 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 ასე რომ, [INAUDIBLE] მოდელი lm, მოდით რეგრესი მილი პოსტი gallon tilde წონა. 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 >> OK, ასე რომ, ეს გამოიყურება ცოტა რთული. 701 00:38:15,595 --> 00:38:19,380 მაგრამ, ძირითადად, როგორც ვხედავთ, თუ ჩვენ ცდილობენ გამოხატონ მილი gallon 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 იქნება თეორიული მილი თითო gallon მანქანა, რომელიც იწონის ნულოვანი. 705 00:38:33,830 --> 00:38:41,210 და მაშინ ყოველი დამატებითი ტონა, თქვენ დაარტყა დაახლოებით ხუთი მილის თითო gallon 706 00:38:41,210 --> 00:38:42,440 off რომ. 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 e 10 უარყოფით 10. 710 00:38:55,740 --> 00:38:59,510 ასე რომ 1-ჯერ რაღაც უარყოფითი 10, რომ თუ მძიმე მანქანა, 711 00:38:59,510 --> 00:39:01,440 ეს იქნება უარესი მილის თითო gallon. 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 Like ნაცვლად რეგრესის ეს წონა, 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 >> ეს მოგვცა r კვადრატი of 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 ყველა უფლება, კიდევ ერთხელ, ჩვენ მიიღო ჩვენი საუკეთესო fit ხაზი აქ. 724 00:39:31,390 --> 00:39:36,160 ეს time-- ეს ამბობს, ძირითადად, რომ ყოველი 725 00:39:36,160 --> 00:39:38,090 გაზრდის წონა მანქანის ფაქტორი e 726 00:39:38,090 --> 00:39:40,580 თქვენ დაკარგოს ბევრი მილის თითო gallon. 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 ჩვენი r კვადრატი აქ არის 0.81, რომელიც ცოტა უკეთესი, ვიდრე 732 00:40:02,805 --> 00:40:07,640 ჩვენ გვქონდა ადრე, 0.52. 733 00:40:07,640 --> 00:40:09,750 >> ასე რომ, ახლა მოდით დაამატოთ ტერმინი ამ რეგრესია. 734 00:40:09,750 --> 00:40:13,020 მოდით რეგრესი მილი gallon როგორც ჟურნალი წონით 735 00:40:13,020 --> 00:40:21,130 და, მოდით, ქ მილი, მეოთხედი მილის დროს. 736 00:40:21,130 --> 00:40:26,190 OK, მას უნდა ჰქონდეს 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 რეალურად, ბოდიში, რა? 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 და გამოიყენოთ ნაკლები გაზის ,, ასე უმაღლესი მილის თითო gallon. 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 ასე რომ, მოდით გავაკეთოთ ისე შიშველი ძვლები ჩვენ შეგვიძლია გავაკეთოთ plots-- 758 00:41:27,810 --> 00:41:35,280 იმიტომ, რომ მე ერთვის ამ მონაცემების ჩარჩო ადრე ჩვენ შეგვიძლია უბრალოდ ნაკვეთები, wt mpg. 759 00:41:35,280 --> 00:41:38,762 760 00:41:38,762 --> 00:41:39,720 ჩადება ეს ცოტა დიდია. 761 00:41:39,720 --> 00:41:55,050 762 00:41:55,050 --> 00:41:57,350 არსებობს, ჩვენ ძირითადად აქვს scatter ნაკვეთი, მაგრამ რაოდენობა 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 >> მე არ მახსოვს, offhand, რა სინტაქსი შეცვლის ნაკვეთი. 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 მე ვფიქრობ, რომ მე რეალურად ამის გაკეთება ტიპის შეადგენს p რაოდენობა ნაკვეთები. 771 00:42:32,730 --> 00:42:34,369 რამე შეიცვალა? 772 00:42:34,369 --> 00:42:35,160 და არა, ნამდვილად არ. 773 00:42:35,160 --> 00:42:39,160 774 00:42:39,160 --> 00:42:39,660 კარგი. 775 00:42:39,660 --> 00:42:46,760 776 00:42:46,760 --> 00:42:49,580 >> გარკვეული მიზეზების გამო, როდესაც მე ეს ჩემს კომპიუტერში, ცოტა ხნის წინ, 777 00:42:49,580 --> 00:42:52,080 ყველა scatter რაოდენობა გაცილებით ნათელი. 778 00:42:52,080 --> 00:43:06,390 779 00:43:06,390 --> 00:43:13,970 ყოველ შემთხვევაში, არის scatter სახის ხილული? 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 ასე რომ, თუ ჩვენ გვინდა, რომ დაამატოთ საუკეთესო fit ონლაინ ამ ნაკვეთის აქ, რომელიც ცოტა შიშველი 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 მილის თითო gallon. 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 OK, yeah, ამ მოწყობილობის მიმდინარეობს ცოტა შემაშფოთებელი. 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 მე არ მახსოვს, offhand რა ბრძანებები 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 >> ასე რომ, თუ ჩვენ გვინდა, რომ რჩეულებში საუკეთესო fit ხაზი, 803 00:44:46,625 --> 00:44:49,250 ჩვენ შეიძლება რაღაც მოსწონს მე აქვს სინტაქსი იწერება აქ. 804 00:44:49,250 --> 00:44:52,280 805 00:44:52,280 --> 00:45:11,130 ასე მახსოვს, ჩვენ უბრალოდ დაამატოთ მოდელი იყო ქალაქგარეთ, წონა, mtcars. 806 00:45:11,130 --> 00:45:16,470 ასე რომ, თუ მინდოდა დაამატოთ საუკეთესო fit ხაზი, მე ვერ გავაკეთებ, ბ ხაზის მოდელი. 807 00:45:16,470 --> 00:45:18,556 და ბუმი, ჩვენ გვაქვს საუკეთესო fit ონლაინ. 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 OK, ასე რომ იმედი მაქვს, ყველას იღებს რაღაც გრძნობა, თუ რა 815 00:45:40,130 --> 00:45:42,030 R არის ის, რაც კარგია. 816 00:45:42,030 --> 00:45:45,520 თქვენ შესაძლოა გაცილებით გავალამაზოთ ნაკვეთები, ვიდრე ეს საკუთარ დროს, თუ გნებავთ. 817 00:45:45,520 --> 00:45:50,100 818 00:45:50,100 --> 00:45:53,950 >> ასე რომ, საგარეო ფუნქცია ინტერფეისი. 819 00:45:53,950 --> 00:46:00,330 ეს არის ის, რომ არ არის, როგორც წესი, დაფარული გაცნობითი ლექციები 820 00:46:00,330 --> 00:46:03,560 ან გაცნობითი არაფერი r. 821 00:46:03,560 --> 00:46:05,584 ეს არ არის სავარაუდოდ თქვენ აპირებს სჭირდება. 822 00:46:05,584 --> 00:46:08,000 თუმცა, მივხვდი, რომ ეს სასარგებლო ჩემი საკუთარი პროექტების წარსულში. 823 00:46:08,000 --> 00:46:10,984 და არ არსებობს კარგი სამეურვეო იგი ამჟამად. 824 00:46:10,984 --> 00:46:12,900 ასე რომ მე უბრალოდ აპირებს გამოიქცევიან თქვენ მთელი ამ 825 00:46:12,900 --> 00:46:16,606 და შემდეგ თქვენ თავისუფლად გავიდეს. 826 00:46:16,606 --> 00:46:18,480 ასე რომ, უცხოური ფუნქცია ინტერფეისი არის ის, რაც 827 00:46:18,480 --> 00:46:23,130 თქვენ შეგიძლიათ გამოიყენოთ მოვუწოდებთ ვხედავ ფუნქციები რ იძულებით, 828 00:46:23,130 --> 00:46:29,850 R აგებულია C. რ არითმეტიკული მხოლოდ C-ის 64-bit მცურავი წერტილი არითმეტიკა, 829 00:46:29,850 --> 00:46:32,852 რომელიც აკრიფოთ ორმაგი [INAUDIBLE]. 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 უპირატესობა გამოყენებით რ Like ეს ცოტა უფრო მოსახერხებელია, ვიდრე C. 834 00:46:45,920 --> 00:46:48,899 მას აქვს უკეთესი გრაფიკული ობიექტების და whatnot. 835 00:46:48,899 --> 00:46:51,690 და მიუხედავად იმისა, შეუძლია მიიღოს მაქსიმალური სიჩქარე out შიდა მარყუჟების, 836 00:46:51,690 --> 00:46:53,650 სადაც თქვენ ნამდვილად სჭირდება. 837 00:46:53,650 --> 00:46:56,330 >> მეორეული გამოყენება არსებული C ბიბლიოთეკები, ეს ასევე მნიშვნელოვანია. 838 00:46:56,330 --> 00:47:00,320 თუ თქვენ გაქვთ გარკვეული C ბიბლიოთეკა, როგორიცაა, მე არ ვიცი, ფურიეს გარდაქმნას, 839 00:47:00,320 --> 00:47:05,190 ან ძალიან Archean სტატისტიკა პროცედურა 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 საქართველოს შინაგანი, შინაგანი არიან აპირებს გამოიყენოს უცხო ფუნქცია 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 მისი სირთულის გადაჭარბებულია in a ბევრი ინსტრუქციას ნახავთ. 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-like სისტემებთან, 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 Unix ბევრად უკეთესი კომპლექტი up შემთხვევით პროგრამირების. 861 00:48:14,770 --> 00:48:19,320 862 00:48:19,320 --> 00:48:21,390 ასე რომ, ძირითადად უცხოური ფუნქცია ინტერფეისი. 863 00:48:21,390 --> 00:48:24,420 თუ გსურთ დაწერა C ფუნქციის გამოყენება R, 864 00:48:24,420 --> 00:48:27,250 მას აქვს მიიღოს ყველა არგუმენტები, როგორც მითითებას. 865 00:48:27,250 --> 00:48:30,666 >> ასე რომ, ერთ ღირებულებები, ამ ნიშნავს, რომ ის აღნიშნა, რომ ღირებულება. 866 00:48:30,666 --> 00:48:33,040 იყიდება მასივები, ეს მაჩვენებელი რომ პირველი ელემენტი, რომელიც 867 00:48:33,040 --> 00:48:36,750 არის რა მასივი სახელები რეალურად ნიშნავს. 868 00:48:36,750 --> 00:48:40,140 ისევ და ისევ, ეს არის ის, რომ თქვენ უნდა ჰქონდეს საკმაოდ მთლიანად მას შემდეგ p მითითებული ხუთ. 869 00:48:40,140 --> 00:48:43,334 Array სახელები მხოლოდ პოინტერები რომ პირველი ელემენტი, 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 ფუნქცია, რომელიც computes გამოყენება dot პროდუქტის ორი ვექტორები. 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 ააშენა [INAUDIBLE], რათა გაირკვეს, სიგრძე ვექტორები, მაგრამ C არ არის. 881 00:49:12,630 --> 00:49:16,182 In C, ვექტორები არის თვითნებური delimited ბლოკი მეხსიერება. 882 00:49:16,182 --> 00:49:17,890 ასე რომ გზა შეგიძლიათ გამოვთვალოთ dot პროდუქცია 883 00:49:17,890 --> 00:49:23,470 მხოლოდ მითითებული ამ out პარამეტრი ნულოვანი და შემდეგ iterate მეშვეობით 884 00:49:23,470 --> 00:49:28,760 1 დან ვარსკვლავი ო, იმიტომ, n მომცეთ სიგრძე, 885 00:49:28,760 --> 00:49:32,929 უბრალოდ დაამატოთ რაღაც ამ out პარამეტრი. 886 00:49:32,929 --> 00:49:34,970 და ეს შეიძლება იყოს კარგი პრაქტიკა თუ ვაპირებთ გავაკეთოთ 887 00:49:34,970 --> 00:49:37,270 ეს დაწერა ორი დამოუკიდებელი C ფუნქციები. 888 00:49:37,270 --> 00:49:41,970 ერთ-ერთი მათგანი has-- ერთ-ერთი მათგანი მხოლოდ იღებს არგუმენტები და ტიპის 889 00:49:41,970 --> 00:49:43,970 რომ ისინი, ჩვეულებრივ იყოს C. 890 00:49:43,970 --> 00:49:47,780 >> ასე რომ, იგი იღებს მასივი არგუმენტები, როგორც მითითებას. 891 00:49:47,780 --> 00:49:57,090 მაგრამ ერთ-ღირებულება არგუმენტები, როგორიცაა n, ეს მხოლოდ იღებს, როგორც ღირებულებები ასლი, 892 00:49:57,090 --> 00:49:57,917 გარეშე მითითებას. 893 00:49:57,917 --> 00:49:59,750 და მაშინ ის არ [INAUDIBLE] out მაჩვენებელი. 894 00:49:59,750 --> 00:50:01,290 და მაშინ აქვს სხვადასხვა, ძირითადად, 895 00:50:01,290 --> 00:50:03,623 გადატანა ფუნქცია, რომელიც ძირითადად ამუშავებს მოთხოვნები 896 00:50:03,623 --> 00:50:07,740 საქართველოს საგარეო ფუნქცია ინტერფეისის თქვენთვის. 897 00:50:07,740 --> 00:50:11,840 >> გზა რეკავთ ამ R არის, კიდევ თქვენ გაქვთ თქვენი ფუნქცია დაწერილი C, 898 00:50:11,840 --> 00:50:17,770 თქვენ აკრიფეთ R cmd shlib, R ბრძანება გაუზიარეს ბიბლიოთეკა, 899 00:50:17,770 --> 00:50:20,110 foo dot გ, ან რასაც თქვენი ფაილის სახელია, 900 00:50:20,110 --> 00:50:23,020 და OS ჭურვი არ R ტერმინალში. 901 00:50:23,020 --> 00:50:25,200 ეს შევქმნით ბიბლიოთეკა მოუწოდა foo dot ასე. 902 00:50:25,200 --> 00:50:28,180 და მაშინ თქვენ შეგიძლიათ გადაწეროთ ეს ჩვენი სცენარი და ინტერაქტიულად 903 00:50:28,180 --> 00:50:32,310 ბრძანება DYN dot დატვირთვა. 904 00:50:32,310 --> 00:50:35,720 მაშინ არსებობს ფუნქცია ამ R მოუწოდა dot გ. 905 00:50:35,720 --> 00:50:39,310 >> ეს იღებს არგუმენტები, რომლებიც პირველი სახელი ფუნქცია C 906 00:50:39,310 --> 00:50:40,970 რომ თქვენ მინდა მოვუწოდო. 907 00:50:40,970 --> 00:50:43,920 და მაშინ ყველა პარამეტრების რომ ფუნქცია, 908 00:50:43,920 --> 00:50:45,420 ისინი უნდა იყოს შესაბამისი ბრძანებით. 909 00:50:45,420 --> 00:50:48,580 თქვენ უნდა გამოიყენოთ ამ ტიპის იძულების ფუნქციები, როგორც მთელი რიცხვი, როგორც 910 00:50:48,580 --> 00:50:52,050 ორმაგი, როგორც ხასიათი, და როგორც ლოგიკური. 911 00:50:52,050 --> 00:50:54,710 და მაშინ, როდესაც ის ბრუნდება სია, რომელიც კიდევ ერთხელ არის მხოლოდ 912 00:50:54,710 --> 00:50:57,550 ასოცირებული მასივი პარამეტრი სახელები და ღირებულებები 913 00:50:57,550 --> 00:51:00,950 შემდეგ ფუნქცია აწარმოებს. 914 00:51:00,950 --> 00:51:08,520 >> ასე რომ, ამ შემთხვევაში, რადგან dot prod აქვს არგუმენტები vec1, vec2, და int n, n out. 915 00:51:08,520 --> 00:51:11,980 წერტილით c გვაქვს dot prod, სახელი ფუნქცია 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 მთელი min სიგრძე vec1, სიგრძე vec2. 919 00:51:25,479 --> 00:51:27,520 მაშინ, ისევე როგორც ორმაგი ნულოვანი, იმიტომ, რომ ჩვენ ნამდვილად არ 920 00:51:27,520 --> 00:51:29,644 მაინტერესებს, რა გადადის out პარამეტრი იმიტომ, რომ ჩვენ 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 მაგრამ თუ თქვენ გაქვთ გამოთვლაც dot პროდუქცია მასიური ვექტორები მარყუჟების, 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 მე ვთქვი, რომ არსებობს ამისთვის loop ფუნქცია. 935 00:52:15,820 --> 00:52:21,150 საერთოდ არ უნდა, ამ ენა, არ გამოიყენოს იგი. 936 00:52:21,150 --> 00:52:26,100 საფუძველზე, თუ რამდენად R ახორციელებს იტერაციული იძულებით, ეს შეიძლება იყოს ნელი. 937 00:52:26,100 --> 00:52:28,540 ისინი უბრალოდ ასევე გამოიყურება მახინჯი. 938 00:52:28,540 --> 00:52:32,410 >> R ამუშავებს ვექტორები ძალიან ლამაზად, ასე რომ, ხშირად თქვენ არ უნდა გამოიყენოთ იგი. 939 00:52:32,410 --> 00:52:35,050 940 00:52:35,050 --> 00:52:38,900 შემდეგ შეგიძლიათ ჩვეულებრივ შეცვლის ვექტორი ხშირად 941 00:52:38,900 --> 00:52:42,490 ამ ფუნქციების მოუწოდა მაღალი იმისათვის, ფუნქციები, რუკა, შემცირება, 942 00:52:42,490 --> 00:52:44,404 მოძებნა, ან ფილტრაციის. 943 00:52:44,404 --> 00:52:46,320 მე უბრალოდ მისცეს რამდენიმე მაგალითები, თუ რა ეს გააკეთოს. 944 00:52:46,320 --> 00:52:49,957 რუკა არის უმაღლესი წესრიგის ფუნქცია, რადგან იგი იღებს ფუნქციას, როგორც არგუმენტი. 945 00:52:49,957 --> 00:52:52,290 ასე რომ, შეგიძლიათ მისცეს მას ფუნქცია, თქვენ შეგიძლიათ მისცეს მას მასივი, 946 00:52:52,290 --> 00:52:54,640 და იგი გამოიყენებს ფუნქცია ყველა ელემენტს მასივი 947 00:52:54,640 --> 00:52:55,681 და დაუბრუნოს ახალი მასივი. 948 00:52:55,681 --> 00:52:58,035 949 00:52:58,035 --> 00:53:00,160 შემცირება, ძირითადად, მისცეს იგი მასივი, თქვენ მას 950 00:53:00,160 --> 00:53:02,930 ფუნქცია, რომელიც იღებს ორ არგუმენტს. 951 00:53:02,930 --> 00:53:07,100 ეს ვრცელდება ფუნქცია პირველი, პირველი არგუმენტი რამდენიმე დამწყებ ღირებულება. 952 00:53:07,100 --> 00:53:09,440 მაშინ, რომ შედეგი მეორე. 953 00:53:09,440 --> 00:53:12,590 მაშინ, რომ შედეგი, მესამე შემდეგ, რომ შედეგი მეოთხე. 954 00:53:12,590 --> 00:53:14,870 ხოლო შემდეგ დაბრუნდნენ, როდესაც იგი იღებს ბოლომდე. 955 00:53:14,870 --> 00:53:17,620 ასე მაგალითად, თუ გვინდა, რომ გამოთვლაც თანხა ყველა ელემენტები 956 00:53:17,620 --> 00:53:23,240 მასივი, ვიდრე თქვენ შეიძლება მოვუწოდებთ შემცირება ერთად [INAUDIBLE] შემცირების გარდა 957 00:53:23,240 --> 00:53:26,620 ფუნქცია, როგორიცაა func a, b, დაბრუნების plus ბ. 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 რომელიც მე do not ისინი ცოტა ძნელი ასახსნელია, 963 00:53:42,807 --> 00:53:45,640 მაგრამ თუ გადავხედავთ [INAUDIBLE] გაფრთხილება, რომ მე მოიყვანა დასაწყისში, 964 00:53:45,640 --> 00:53:48,615 იგი განმარტავს, მათ კარგად მისი დანართი on R პროგრამირების. 965 00:53:48,615 --> 00:53:51,599 966 00:53:51,599 --> 00:53:53,390 უფრო მეტი პრაქტიკა, appending to ვექტორები. 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 arrow, ისრის არ უნდა იყოს. 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 შეადგენს გ, 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 შემდეგ, ნაცვლად appending მას მუდმივად, თქვენ უნდა წინასწარ გამოყოფს მას. 995 00:55:24,240 --> 00:55:29,310 Vec arrow, ვექტორი სიგრძე უდრის 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 მე შეუვარდნენ ეს, კიდევ ერთხელ, ჩემი საზაფხულო სამუშაო როცა ვწერდი NRA დიფერენციალური 999 00:55:40,140 --> 00:55:42,120 განტოლება solver. 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 ასე რომ, ჩემი ბუნებრივი გულუბრყვილო მიდრეკილება იყო იმის თქმა, OK, 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-- ეს არის ჩემი ბოლო slide, არ worry-- არის შეცდომა გატარება. 1017 00:56:40,240 --> 00:56:42,890 R, უნდა იყოს გულწრფელი, არ მართლაც ამ ძალიან კარგად. 1018 00:56:42,890 --> 00:56:45,010 არსებობს უამრავი პრობლემები, რომელიც შეიძლება მოსავლის up. 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 ძველი მაჩვენებელი, [INAUDIBLE] to null მაჩვენებელი, ის უბრალოდ seg ხარვეზებით 1027 00:57:11,360 --> 00:57:14,109 და თუ თქვენ თქვენს debugger ეს გიჩვენებთ ზუსტად სადაც ხართ. 1028 00:57:14,109 --> 00:57:17,080 1029 00:57:17,080 --> 00:57:20,772 ამის ნაცვლად, null იქნება გავაკეთოთ ფუნქციები გავაკეთებ არაპროგნოზირებადი რამ 1030 00:57:20,772 --> 00:57:21,730 თუ ისინი გადასცა null. 1031 00:57:21,730 --> 00:57:24,575 Like თუ თქვენ გადასცა max null, ეს მოგცემთ უარყოფითი უსასრულობა. 1032 00:57:24,575 --> 00:57:27,230 1033 00:57:27,230 --> 00:57:28,190 ასე რომ, yeah. 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 და შემდეგ მე მივიღე ყველა სახის შემთხვევითი infinity შედეგები cropping up 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 თუმცა, არსებობს რაღაც ე.წ. stop თუ არა. 1045 00:57:57,240 --> 00:58:00,480 ეს არის ეკვივალენტი C ს მტკიცებით, თუ თქვენ საუბრობდა. 1046 00:58:00,480 --> 00:58:02,690 მე არ ვფიქრობ, C ამტკიცებენ, არის ლექცია თემაზე, 1047 00:58:02,690 --> 00:58:06,370 მაგრამ თქვენი მონაკვეთზე ლიდერი ალბათ წავიდა მას. 1048 00:58:06,370 --> 00:58:10,393 და შეწყვიტოს თუ არა ძირითადად იღებს ნებისმიერი შემასმენელს, ასე რომ რაიმე განცხადება, რომელიც 1049 00:58:10,393 --> 00:58:11,824 შეიძლება იყოს ჭეშმარიტი ან მცდარი. 1050 00:58:11,824 --> 00:58:13,490 და თუ ეს ყალბი, შეწყვეტს მისი პროგრამა. 1051 00:58:13,490 --> 00:58:18,260 იგი მოგვითხრობს, თუ ზუსტად რა გამოდიან თქვენ იყო და რა მდგომარეობაში ვერ მოხერხდა. 1052 00:58:18,260 --> 00:58:21,910 >> და ეს ძალიან სასარგებლო, მაგალითად, საღი აზრის შემოწმება, ფუნქცია საშუალებებით. 1053 00:58:21,910 --> 00:58:25,110 ასე რომ, თუ თქვენ გაქვთ ფუნქცია და ველოდებით, ვთქვათ, 1054 00:58:25,110 --> 00:58:29,640 თუ თქვენ უნდა მომეცი თარიღი, მინდა ვადები იყოს მხოლოდ ვექტორი სიგრძე 1 1055 00:58:29,640 --> 00:58:31,735 და სადღაც შორის 1 და 31. 1056 00:58:31,735 --> 00:58:34,420 1057 00:58:34,420 --> 00:58:36,170 და თუ არა, მე ვიცი, რაღაც წავიდა არასწორია. 1058 00:58:36,170 --> 00:58:40,280 და მე აირჩიოს მთავრდება, სანამ ეს აქვს შემთხვევითი ანტიდეტონაციური ეფექტებს კოდი 1059 00:58:40,280 --> 00:58:44,190 რომ ეს რთული კვალი მეშვეობით. 1060 00:58:44,190 --> 00:58:47,170 ასე რომ, ერთ-ერთ შესაძლო გამოყენება გაჩერება თუ არა. 1061 00:58:47,170 --> 00:58:48,660 >> ყოველ შემთხვევაში, OK. 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 >> აუდიტორია: [INAUDIBLE]. 1077 00:59:29,450 --> 00:59:30,617 >> CONNER HARRIS: რა თქმა უნდა. 1078 00:59:30,617 --> 00:59:34,910 >> აუდიტორია: რა სახის პროექტი იქნებოდა CS სტუდენტი გამოიყენოთ რ? 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 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