CONNOR HARRIS: هنوز هم من فکر می کنم برخی از ویدیو هیجان انگیز تولید شده توسط یک مشاوره حرفه ای که با استفاده از R به مقدار زیادی در کار خود را. راوی: چه چیزی پشت آمار است، تجزیه و تحلیل ترافیک و تصویری که امروز درخشان دانشمندان داده و رهبران کسب و کار بر روی تکیه برای تصمیم گیری قدرتمند است؟ شما ممکن است همیشه آن را ببینید. اما آن وجود دارد. آن را به نام R، منبع باز R-- زبان برنامه نویسی آماری که کارشناسان داده جهان بیش از استفاده از برای همه چیز از نقشه برداری گسترده اجتماعی و گرایش بازاریابی آنلاین به توسعه مالی و آب و هوا مدل های که کمک به رانندگی اقتصاد ما و جوامع. اما آنچه که دقیقا R است و که در آن R شروع شد؟ خب در اصل، R آغاز شده در اینجا با دو استاد که می خواست آماری بهتر پلت فرم برای دانش آموزان خود. به طوری که آنها ایجاد یک مدل پس از زبان آماری S. آنها، همراه با بسیاری دیگر، کار نگه داشته در و با استفاده از R، ایجاد ابزار برای پیدا کردن R و برنامه های کاربردی جدید برای R هر روز. با تشکر از این است تلاش جامعه در سراسر جهان، R در حال رشد با هزاران نفر نگه داشته کتابخانه ایجاد شده توسط کاربر ساخته شده است به منظور افزایش قابلیت R و اعتبار سنجی با کیفیت جمعیت، منابع و پشتیبانی از شناخته شده ترین رهبران صنعت در هر زمینه که با استفاده از R. که بزرگ است، چرا R بهترین در آنچه در آن انجام می دهد. جوانه زدن کارشناسان به سرعت و به به راحتی تفسیر، تعامل با، و تجسم داده نشان دادن خود را به سرعت جامعه در حال رشد از کاربران در سراسر جهان R و ببینید که چگونه باز منبع R همچنان به شکل آینده آماری تجزیه و تحلیل و علم داده. CONNOR HARRIS: OK، بزرگ است. بنابراین ارائه خود من خواهد شد کمی بیشتر هوشیار. آن را شامل نیست که موسیقی پس زمینه هیجان انگیز است. اما همانطور که می دیدم در این ویدئو، R مرتب سازی بر اساس یک زبان برنامه عمومی. اما از آن بیشتر ایجاد شد برای کار های آماری. پس از آن برای آمار طراحی شده است، برای تجزیه و تحلیل داده ها، برای داده کاوی. و به این ترتیب شما می توانید این را در بسیاری از دید انتخاب طراحی است که سازندگان R ساخته. آن را برای تا حد زیادی طراحی شده است، افرادی که نمی کارشناسان در برنامه نویسی، که فقط برداشتن برنامه نویسی در سمت به طوری که آنها می توانید کار خود را انجام در علوم اجتماعی و یا در آمار یا هرچی. از آن است که بسیاری از بسیار تفاوت های مهم از C. اما نحو و پارادایم که از آن استفاده می گسترده به همان. و شما باید بسیار احساس زیادی در خانه درست کردن خفاش. این زبان امری است. آیا بیش از حد مورد آن نگران نباشید اگر شما مدت را نمی دانم. اما یک تمایز وجود دارد بین ضروری، اعلانی، و عملکردی است. ضروری فقط بدان معناست که شما می توانید اظهارات که در واقع دستورات. و آنگاه مفسر یا کامپیوتر آنها را زیر یک به یک. آن را ضعیف تایپ شده، وجود دارد هیچ اعلان نوع در R. و سپس خطوط بین انواع مختلف کمی شل بیش از آنها در C هستند، برای مثال. و همانطور که گفتم وجود دارد امکانات بسیار گسترده برای نموداری، آماری برای تجزیه و تحلیل، برای داده کاوی. این هر دو را به ساخته شده زبان و، به عنوان این ویدئو گفت، هزاران نفر از کتابخانه های شخص ثالث که شما می توانید دانلود و استفاده رایگان با شرایط مجوز بسیار سست. بنابراین به طور کلی، من توصیه می که شما را در این دو کتاب نگاه اگر شما در حال رفتن به محل کار در یکی R. از آنها رسمی R مبتدی راهنما. آن را توسط حفظ توسعه دهندگان هسته R. شما می توانید آن را دوباره دانلود، رایگان شارژ و از نظر قانونی در این لینک وجود دارد. همه این اسلاید در حال رفتن به تا بر روی اینترنت، در وب سایت CS50 بعد از این انجام شده است. بنابراین بدون نیاز به کپی همه چیز دیوانه وار. یکی دیگر است کتاب های Cosma Shalizi، که استاد آمار در است کارنگی ملون، به نام داده و جوی پیشرفته تجزیه و تحلیل از نقطه ابتدایی نمایش. این اساسا یک کتاب R است. این کتاب آمار و آن یک کتاب تجزیه و تحلیل داده است. اما آن را بسیار در دسترس را به افرادی که یک مقدار کم از دانش آمار. من هرگز یک دوره رسمی گرفته شده است. من فقط می دانم بیت و قطعات از موضوعات مختلف متفقین که من در دوره های گرفته شده. و من قادر به درک آن را کاملا خوب است. همه چهره های داده می شود در R. آنها در R ساخته شده و آنها نیز لیست کد در زیر هر شکل که به شما بگویم چگونه می توانید به هر شکل با کد R. و این بسیار مفید است اگر شما در حال تلاش برای شبیه سازی برخی از چهره های شما را در یک کتاب را ببینید. دانلود رایگان و دوباره stat.cmu.edu/cshalizi/ با عرض پوزش، که باید بریده بریده cshalizi مد. من مطمئن شوید که برای اصلاح زمانی که اسلاید رسمی بالا برود. / ADAfaEPoV است که فقط مخفف از عنوان کتاب. caveats-- R بنابراین به طور کلی تا به بسیاری از قابلیت های. من فقط رفتن به قادر به پوشش سطح بسیاری از مسائل. همچنین بخش اول سمینار در حال رفتن به چیزی از یک روگرفت داده. من کاملا با عرض پوزش که در مورد. در واقع، من قصد دارم به شما را به بسیاری از مسائل معرفی حق کردن خفاش، رفتن با بیشترین سرعت ممکن. و سپس ما به بخش سرگرم کننده است، که نسخه ی نمایشی که در آن من می توانم همه چیز را نشان می دهد شما که ما در مورد بر روی صفحه نمایش صحبت کرده ام. و شما می توانید خود را در سراسر بازی. بنابراین برای رفتن به بسیاری از وجود دارد مسائل فنی تا در اینجا پرتاب می شود. آیا در مورد کپی کردن همه که پایین نگران نباشید. از آنجا که A، شما می توانید تمام مسائل در وب سایت CS50 بعد. و B، آن را واقعا که مهم نیست این از اسلاید را حفظ کنید. این مهم است که شما می توانید برخی از امکانات بصری با آن و از فقط بازی در اطراف می آید. پس چرا استفاده از R؟ در واقع، اگر شما یک پروژه که شامل استخراج مجموعه داده های بزرگ، داده تجسم، شما باید R. اگر شما در حال استفاده انجام تجزیه و تحلیل آماری پیچیده، که دشوار خواهد بود به در اکسل، برای مثال، آن را همچنین می good-- شود اگر شما در حال انجام آماری تجزیه و تحلیل که خودکار می باشد. بیایید می گویند شما در حال حفظ یک وب سایت. و شما می خواهید به خواندن گزارش سرور هر روز و کامپایل برخی از لیست، مانند کشورهای بالا که کاربران خود را از آمدن، برخی از آمار خلاصه در چه مدت آنها در وب سایت خود و یا هر آنچه صرف. و شما می خواهید برای اجرای این هر روز. حال اگر به شما انجام این کار در اکسل، شما می خواهم که برای رفتن به ورود به سیستم سرور خود را، واردات که به یک صفحه گسترده اکسل داده ها، اجرای تمام تجزیه و تحلیل دستی. با R، شما فقط می توانید ارسال یک اسکریپت. برنامه زمانبندی آن را به اجرا هر روز از سیستم عامل خود را. و پس از آن هر شب در 2:00 AM، و یا هر زمان که شما آن را برنامه ریزی برای اجرا، آن را از طریق نگاه خود را ترافیک اینترنت برای آن روز. و سپس در روز بعد، شما این براق، گزارش جدید و یا هر آنچه با تمام اطلاعات شما برای خواسته. بنابراین اساسا R است برای سیسکو برنامه نویسی در مقابل تحلیل های سیسکو. مقدماتی انجام شده است. اجازه دهید به همه چیز واقعی است. بنابراین سه واقعی وجود دارد انواع در زبان است. نوع عددی وجود دارد. مرتب کردن بر اساس تفاوت بین وجود دارد اعداد صحیح و نقاط شناور، اما نه واقعا. یک شخصیت وجود دارد نوع است که رشته ها. و یک منطقی وجود دارد نوع است که Booleans می. و شما می توانید بین انواع تبدیل با استفاده از این توابع به عنوان عددی، به عنوان شخصیت، منطقی است. اگر شما پاسخ، برای مثال، به عنوان عددی در یک رشته، آن را امتحان کنید به خواندن آن رشته به عنوان یک عدد، به همان شیوه که a2i و scanf انجام دهید، و اگر C. شما به عنوان عددی در درست یا غلط پاسخ آن را به 0 یا 1 تبدیل کنید. اگر شما به عنوان شخصیت پاسخ در هر چیزی آن را خواهید تبدیل که به یک نمایش رشته. و پس از آن بردارها و ماتریس وجود دارد. بنابراین بردار اساسا 1 آرایه های بعدی. آنها هستند که ما در آرایه پاسخ C. ماتریس ها، آرایه 2 بعدی. و پس از آن بالاتر آرایه های بعدی شما می توانید 3، 4، 5 ابعاد و یا هر از مقادیر عددی، از رشته ها، مقادیر منطقی است. شما همچنین لیست است که هستند یک نوع از آرایه انجمنی. من به که یک بیت را دریافت. بنابراین یک چیز مهم که مردم در سفرهای R این است که هیچ وجود دارد واقعی، انواع خالص اتمی است. هیچ تمایز بین وجود دارد واقعی یک عدد، مانند یک مقدار عددی، و یک لیست از مقادیر عددی. مقادیر عددی در واقع همان بردار به طول 1. و این است که تعدادی از نتیجه مهم است یکی، به این معنی که شما می توانید انجام دهید همه چیز به راحتی که شامل مانند اضافه کردن یک عدد به یک بردار. R اساسا شکل کردن آنچه که شما در آن چیست. و من به که در یک ثانیه است. همچنین بدان معنی است که هیچ راهی وجود دارد برای نوع checker-- به حدی که چیزی شبیه به در R-- وجود دارد به زمانی که شما در ارزش واحد پشت سر گذاشته هنگامی که آن را انتظار یک آرایه یا بالعکس. و که می تواند برخی عجیب و غریب باعث مشکلات که من به هنگام فرار من با استفاده از R در طول کار در تابستان است. و هیچ آرایه مخلوط نوع وجود دارد. بنابراین شما می توانید یک آرایه بودند عنصر اول است، من نمی دانم، رشته "جان" و عنصر دوم شماره 42 است. اگر شما سعی می کنید برای انجام این کار، پس از آن شما می خواهید همه چیز را فقط به یک رشته تبدیل شده است. بنابراین ما باید رشته جان، رشته 42. نحوی غیر معمول ترین features-- از R نحو بسیار شبیه به C است. چند تفاوت مهم وجود دارد. تایپ کردن بسیار ضعیف است. بنابراین هیچ متغیر وجود دارد. واگذاری با استفاده از عجیب و غریب اپراتور خطا کمتر از خط تیره. نظرات با علامت هش می باشد. من حدس می زنم در حال حاضر روز ما آن را برچسب هر چند که واقعا نمی accurate-- نیست علامت دو برابر شود. باقی مانده های مدولار با علائم ٪٪ هستند. تقسیم عدد صحیح است با٪ /٪ است که بسیار سخت به خواندن هنگامی که آن را پیش بینی بر روی صفحه نمایش. شما می توانید محدوده گرفتن اعداد صحیح را با روده بزرگ است. بنابراین 2،5 به شما یک بردار را تمام اعداد 2 تا 5. آرایه ها یک نمایه، که پیچ بسیاری از مردم تا اگر از تر هستید زبان های برنامه نویسی معمولی، مانند C، که در آن بسیاری همه چیز صفر نمایه شده است. باز هم، این که در آن میراث R است به عنوان یک زبان مثل نمی برنامه نویسان حرفه ای در می آید. اگر شما یک جامعه شناس هستید و یا یک اقتصاددان و یا چیزی و شما در حال تلاش برای استفاده از R اساسا به عنوان یک مکمل به خود را مهم تر کار حرفه ای، شما در حال رفتن به پیدا کردن یکی از نمایه سازی کمی طبیعی تر است. از آنجا که شما شروع به شمارش در 1 در زندگی روزمره، 0. برای حلقه، این شبیه به حلقه foreach ساخت در پی اچ پی، که شما برای به دست آوردن خیلی زود یاد می گیرند in--. که در بردار است و برای ارزش پس از آن شما می توانید همه چیز با ارزش است. رسید که تا در سخنرانی آمده است. CONNOR HARRIS: اوه، که آمد تا سخنرانی، بسیار عالی است. رسید از انتساب، آن است قرار به نقطه از راست به چپ؟ CONNOR HARRIS: از راست به چپ، بله. شما می توانید از آن به عنوان ارزش در فکر می کنم حق هل را به متغیر در سمت چپ. رسید OK. CONNOR HARRIS: و در نهایت نحو عملکرد کمی عجیب و غریب است. شما باید نام تابع تولی، اختصاص داده به این تابع کلید واژه، به دنبال همه استدلال و پس از آن بدنه تابع پس از آن. باز هم این چیزها ممکن است به نظر می رسد کمی عجیب و غریب. آنها تبدیل به طبیعت دوم بعد از شما با زبان برای کمی کار می کنند. بنابراین بردار، راه شما یک بردار ساخت شما نوع C است، که یک کلمه کلیدی است، پس از آن تمام اعداد شما می خواهید و یا رشته یا هرچی. استدلال ها نیز بردار باشد. اما آرایه نتیجه مسطح می شود. بنابراین شما می توانید آرایه که در آن ندارد برخی از عناصر اعداد یک هستند و برخی از عناصر آرایه خود می باشد. بنابراین اگر شما سعی می کنید برای ساخت یک آرایه بودند عنصر اول 4 و عنصر دوم 3،5 آرایه شما فقط یک آرایه سه عنصر، 4،3،5. آنها نمی توانند از نوع مخلوط شود. اگر شما سعی می کنید به خواندن و نوشتن خارج از محدوده یک بردار شما این مقدار به نام NA یک دریافت کنید که مخفف ارزش از دست رفته. و این است که در نظر گرفته شده برای مانند آماردانان که در حال کار با مجموعه داده های ناقص است. اگر شما یک تابع است که قرار است اعمال می شود برای گرفتن فقط یک عدد به یک آرایه پس از آن آنچه شما است، تابع بیش از آرایه نقشه. بنابراین اگر تابع شما اجازه دهید بگویم طول می کشد تعداد و بازده آن مربع است. شما اعمال می شود که به آرایه 2،3،5 آرایه 4،9،25 آنچه شما است. و این بسیار مفید به دلیل آن معنی است که شما لازم نیست که برای حلقه ها را برای ارسال انجام کارهای بسیار ساده مانند استفاده یک تابع برای تمام اعضای یک مجموعه داده. که اگر شما در حال کار با بزرگ مجموعه داده، شما باید برای انجام بسیاری. توابع باینری هستند ورود کاربردی توسط ورود. من به آن دریافت کنید. شما می توانید آنها را با آرایه دسترسی داشته باشید و یا بردار با براکت مربع است. براکت بنابراین نام بردار مربع 1 شما را عنصر اول است. نام بردار براکت 2 شما را عنصر دوم به من بدهید. شما می توانید در یک بردار عبور شاخص و شما بازگشت اساسا یک عامل فرعی. بنابراین شما می توانید نام بردار براکت C انجام، 2،4 و شما را از دریافت برداری شامل دوم و چهارم عناصر آرایه. و اگر شما می خواهید فقط یک سریع خلاصه آمار یک بردار مانند میان چارکی وسیعی، میانه، حداکثر، هر، شما فقط می توانید خلاصه نوع نام بردار و که از. این واقعا مفید نیست در برنامه نویسی اما اگر شما در حال بازی در اطراف مجموعه داده، آن را دستی. Matrices-- اساسا آرایه های بالاتر بعدی. آنها این نحو نماد خاص. ماتریس با آرایه ای که می شود پر in-- با عرض پوزش، ماتریس با داده ها، تعداد سطرها، تعداد ستون ها. هنگامی که شما به برخی از داده ها، آن را پر می آرایه اساسا رفتن بالا به پایین برای اولین بار. سپس از چپ به راست. بنابراین، مانند آن. و R در ساخته شده است ضرب ماتریس، تجزیه طیفی، قطری، بسیاری از مسائل. اگر می خواهید بالاتر بعدی آرایه ها، SO 3، 4، 5، یا هر چیز دیگری شما می توانید ابعاد انجام این کار. نحو است کم آرایه برابر C، سپس لیستی از ابعاد. بنابراین اگر شما می خواهید یک آرایه 4 بعدی با ابعاد 4، 7، 8، 9، آرایه، کم برابر با C (4،7،8،9). شما دسترسی به مقادیر منفرد با آویز ورود اولین کاما از هم ورودی دوم. شما می توانید تمام برش گرفتن از سطرها یا ستون ها. با این نحو ناقص آن فقط ردیف یا ستون کاما تعداد کاما عدد. بنابراین لیست یک نوع از آرایه در ارتباط است. آنها نحو خود را در اینجا. دوباره انجام دیوانه وار نیست کپی کردن تمام این پایین. این فقط به طوری که مردم رفتن را از طریق اسلاید بعد این همه را در یک مرجع خوب است. و این تبدیل خواهد شد یک بار بسیار طبیعی من در واقع از طریق دموی راه رفتن. بنابراین لیست آرایه اساسا در ارتباط است. شما می توانید مقادیر با دسترسی نام فهرست، علامت دلار، کلیدی است. بنابراین اگر لیست شما است نام foo، سپس شما می توانید آن را مانند که دسترسی داشته باشید. شما می توانید کل جفت کلید-مقدار گرفتن با عبور در شاخص براکت مربع است. اگر شما از یک غیر موجود به عنوان خوانده شده کلید، شما مقدار null را دریافت کنید. آن را نمی خطا خواهد. چیزی است، R به عنوان انجام خیلی با تهی عنوان آن می تواند. و این می تواند این معنی است که اگر شما انتظار برای به دست آوردن مقدار null را برخی از فهرست خوانده شده، به شما برخی گرفتن خطاهای غیر قابل پیش بینی بیشتر پایین خط. این برای من اتفاق افتاده من زمانی که کار تابستان من با استفاده از R که در آن من را تغییر برخی از لیست در یک نقطه تعریف شده بود اما در بعد تغییر دهید کد است که ارزش ها از آن را بخوانید. و بنابراین، آنچه اتفاق افتاده بود من خواندن مقادیر null از این لیست، عبور آنها را به توابع، و بودن بسیار اشتباه وقتی که من تمام انواع کردم بی نهایت تصادفی برداشت تا در این تابع. چرا که اگر شما حداکثر خاصی اعمال می شود یا حداقل توابع به تهی، شما مقادیر بینهایت دریافت کنید. فریم های داده، آنها یک زیر کلاس از لیست هستید. هر مقدار یک بردار است از همان طول. و آنها برای ارائه استفاده می شود، در واقع، جداول داده. است این نحو مقدار دهی اولیه وجود دارد. این همه، دوباره، بسیار باشد واضح تر زمانی که شما را به نسخه ی نمایشی دریافت کنید. و چیز خوب در مورد فریم های داده است که شما می توانید نام به تمام ستون را و نام را به تمام ردیف. و به طوری که باعث می شود دسترسی آنها را کمی دوستانه. همچنین این که چگونه بسیاری از توابع است که خواندن در داده ها از صفحات گسترده اکسل و یا از فایل های متنی، برای مثال، در داده های خود را خواهد خواند. آنها آن را قرار داده برخی از قاب داده ها. بنابراین functions-- توابع نحو کمی عجیب و غریب است. دوباره آن را به نام تابع، اختصاص دهید، این تابع از کلمه کلیدی و پس از آن لیست آرگومان. بنابراین برخی از چیزهای خوب وجود دارد در مورد چگونگی توابع در اینجا کار می کنند. برای نمونه، شما در واقع می تواند اختصاص مقادیر پیش فرض به استدلال خاص است. بنابراین شما می توانید R1 می گویند equals-- شما می توانید تولی می گویند یک تابع که در آن R1 برابر است با چیزی است به طور پیش فرض در صورتی که کاربر را مشخص بدون آرگومان. در غیر این صورت، آن را هر چه او در قرار داده است. و این بسیار مفید است چرا که بسیاری از توابع ما اغلب ده ها یا صدها نفر از استدلال است. برای مثال آنهایی که برای توطئه نمودار و یا توطئه قطعه های پراکنده استدلال که کنترل همه چیز از عنوان و محور برچسب به رنگ خطوط رگرسیون. و بنابراین اگر شما نمی خواهید به مردم مشخص هر یک از این صدها نفر از استدلال کنترل هر جنبه از یک طرح یا یک رگرسیون و یا هر چیز دیگری، آن را به خوبی به این مقادیر پیش فرض. و سپس شما می توانید ارسال عنوان شما را دیدم به اینجا. یا پیدا کردن یک مثال بهتر است. وقتی که شما توابع پاسخ واقع شما می توانید آنها با استفاده از نام آرگومان تماس بگیرید. بنابراین در اینجا یک مثال از سازنده ماتریس. این سه آرگومان می گیرد. معمولا شما داده ها، که یک بردار است. شما باید ردیف N، که تعداد ردیف است. شما باید N cols-- تعداد ستون ها. چیزی است اگر شما از نوع ردیف N برابر هر و همکاران N برابر هر آنچه که شما خواستار این تابع، شما در واقع می توانید آنها را معکوس می باشد. بنابراین شما می توانید ستون N اول و ردیف N قرار دوم و آن را هیچ تفاوت است. به طوری که یکی از ویژگی های خوب کمی است. آیا واردات و صادرات. این می تواند انجام شود، اساسا. همچنین امکانات برای نوشتن وجود دارد دلخواه R اشیاء به یک فایل باینری و سپس آنها را در بعد از خواندن. که اگر شما در حال انجام است مفید یک جلسه R بزرگ تعاملی و شما نیاز به ذخیره همه چیز بسیار سریع است. به طور پیش فرض R دارای یک دایرکتوری که فایل ها را به نوشته و خواندن در از. شما می توانید با دید که getwg، آن را با setdw را تغییر دهید. هیچ چیز به خصوص جالب در اینجا بنابراین در حال حاضر آمار واقعی stuff-- رگرسیون چند سال. بنابراین نحو معمول کمی پیچیده است. مدل یک شی بزرگ اساسا است. آن اختصاص داده می شود به LM، که یک فراخوانی تابع است. عنصر اول، Y X1 مد به علاوه هر. نحو من در اینجا کمی گیج کننده است. من کاملا متاسفم، این راه استاندارد است که کتاب علوم کامپیوتر انجام این کار. اما آن است که کمی عجیب و غریب. بنابراین در واقع، آن LM پرانتز، اولین مورد است variable-- با عرض پوزش، وابسته X1 X2 مد متغیر به علاوه به علاوه با این حال بسیاری مستقل متغیرهای شما داشته باشد. و سپس این هم می تواند بردارها، تمام طول همان. و یا می توان آنها را ستون هدر در یک قاب داده ها که شما فقط در مشخص آرگومان دوم قاب داده ها. شما همچنین می توانید مشخص کنید یک فرمول پیچیده تر بنابراین شما لازم نیست خطی پسرفت یک متغیر وابسته است، و یا یک بردار روی یک بردار از پیش موجود. شما می توانید انجام دهید، برای مثال، یک مولفه Y مربع به علاوه 1 و عقب که در برابر ورود به سیستم از برخی بردار دیگر. شما می توانید خلاصه ای از چاپ مدل با این دستور نام summary-- فقط خلاصه مدل پرانتز. دوباره چیز دیگری من باید روشن. چیز دیگری که از اصلاح خواهد شد زمانی که اسلاید تا بر روی اینترنت. اگر شما فقط می خواهید برای محاسبه ارتباط ساده شما می توانید بردار همبستگی استفاده 1 2 بردار تابع اصلی. روش به طور پیش فرض همبستگی پیرسون. کسانی هستند استاندارد شما می توانید انجام دهید. نیز وجود دارد اسپیرمن و ارتباط Kendell که برخی از انواع همبستگی رتبه. خب آنها کالا محاسبه نیست لحظات بین بردارهای خود، اما از دستورات رتبه بردار است. من که بعد توضیح خواهیم داد. مخاطبان: درخواست سریع CONNER HARRIS: حتما. مخاطبان: بنابراین زمانی که شما محاسبه برای همبستگی ساده انجام شما فرض است که آماری وجود دارد اهمیت به همبستگی؟ CONNER HARRIS: شما لازم نیست که. یک LM است که اساسا فقط یک ماشین. آن را در دو چیز را و آن را به تف ضرایب برای بهترین خط برازش. همچنین این گزارش استاندارد خطا در آن ضرایب. و آن را به شما بگویم، مانند است که رهگیری آماری معنی دار یا تفاوت از 0. آیا شیب بهترین خط برازش شده متفاوت از صفر، و غیره. پس از آن فرض هیچ چیز، من فکر می کنم بهترین پاسخ سوال خود را است. باشه. Plotting-- بنابراین به این دلیل اصلی شما باید استفاده از R، مانند رگرسیون چند سال. اساسا هر زبان برخی از امکانات برای آن است. و نحو صادقانه R برای رگرسیون محرمانه بیتی است. اما رسم است که در آن واقعا می درخشد. تابع اسب بارکش طرح است و آن دو بردار، x و y طول می کشد. و پس از آن بیضی مخفف بسیار تعداد زیادی از استدلال اختیاری است که همه چیز را از عنوان به رنگ های کنترل خطوط مختلف و یا نقاط مختلف، به نوع طرح. شما می توانید پراکنده اند قطعه قطعه و یا خط. [نامفهوم] 2 بردار از همان طول. شما می توانید قبل از این با ضمیمه قاب داده ها در اسکریپت خود را. و این به شما اجازه استفاده از ستون فقط هدر به جای بردار جداگانه. شما می توانید بهترین خطوط مناسب و محلی اضافه کنید منحنی رگرسیون به نمودار خود را. این دستورات ذکر شده در اینجا، AB خط و خطوط، به طور پیش فرض این دریافت نوشته شده را به پاپ تا پنجره به دلیل آن فرض می شود که شما با استفاده از R تعاملی. اگر شما نیست که شما می توانید ارسال دو فایل در واقعا هر فرمت شما می خواهم می باشد. با عرض پوزش، من یک اشتباه تایپی من فقط متوجه. اگر شما می خواهید برای باز کردن ابزار گرافیکی دیگر شما می توانید این تابع به نام PNG و یا استفاده از JPEG و یا بسیاری از فرمت های تصویری دیگر. و شما می توانید نمودار برای ارسال هر نام فایل مشخص می کنید. برای لغو که شما باید به use-- من این را در slide-- ارسال نمی اما یک تابع به نام توسعه تمدن وجود دارد نقطه کردن که هیچ آرگومان می گیرد. پس از آن امکانات وجود دارد برای 3D توطئه و برای کانتور توطئه اگر می خواهید مطمئن نمودار دو متغیر مستقل است. من نمی خواهد به این در حال حاضر است. همچنین برخی از آنها وجود دارد امکانات برای انیمیشن کسانی که معمولا که توسط اشخاص ثالث. من انیمیشن ها با نمودار R انجام داده اند، اما من این شخص ثالث استفاده کرده اند نیست کتابخانه ها. بنابراین من واقعا نمی توانند گواهی دهند به چقدر خوب هستند. چه توصیه میکنم اگر شما می خواهید برای ایجاد انیمیشن با استفاده از R است شما می توانید از تمام ارسال فریم برای انیمیشن ها و پس از آن شما می توانید یک استفاده program-- شخص ثالث آنهایی که معمول FFmpeg به نامیده می شوند و یا ImageMagick-- به کوک تمام فریم های خود را به یک انیمیشن است. بنابراین زمان برای نسخه ی نمایشی. بنابراین اگر شما با استفاده از هر یونیکس مانند سیستم که لینوکس میباشد که با استفاده از BSD اما BSD. OS X باز کردن یک پنجره ترمینال و نوع R در خط فرمان. اگر شما R استودیو و یا مانند آن، که آن نیز کار می کند. برای کاربران ویندوز شما باید قادر به پیدا کردن R در منوی استارت خود را. آن باید به نام چیزی مانند R X64 3 نقطه هر چیز دیگری. باز که وجود دارد. بنابراین در حال حاضر من فقط اجازه دهید باز کردن یک پنجره ترمینال. همه حق است، جستجو. رسید فرمان فضایی CONNER HARRIS: فرماندهی فضایی، از شما سپاسگزارم. من معمولا استفاده از مکینتاش است. ترمینال، نشان می دهد پنجره جدید. جدید پنجره تنظیمات است عمومی، R. بنابراین شما باید پیام خوش آمدید، چیزی شبیه به این. بنابراین من با استفاده از R تعاملی. شما همچنین می توانید اسکریپت R البته ارسال. اساسا اسکریپت اجرا راه همان عنوان اگر شما در کامپیوتر نشسته بودند تایپ کردن در هر خط در یک زمان. بنابراین با ساخت یک بردار شروع کنیم. یک پیکان C 1، 2. 1، 2، 4. بسیار خوب، حتما. من می توانید اندازه فونت را بزرگتر کند. مخاطبان: فرمان به علاوه CONNER HARRIS: فرمان به علاوه. فرمان به علاوه. همه حق است، چگونه است که؟ خوب است؟ باشه. بنابراین شروع شده توسط اجازه اعلام یک لیست بردار. آیا، فلش، C 1،2،4. ما می توانیم یک را مشاهده کنید. آیا در مورد براکت وجود دارد نگران نباشید. پرانتز به طوری که اگر شما نسخه قابل چاپ کردن آرایه های بسیار طولانی، ما می توانیم که در آن شما می باشد. یک مثال می تواند اگر من فقط می خواهم وسیعی 2-200. اگر من چاپ بسیار آرایه طولانی، براکت فقط بنابراین من می توانید نگه دارید مسیر که شاخص ما در حال اگر من به دنبال از طریق این در دید. بنابراین به هر حال، ما باید یک. من هم گفتم قبل از آن آرایه تعامل بسیار خوبی با، برای مثال، عملیات یگانی مثل این. بنابراین آنچه که شما فکر می کنم من اگر یک به علاوه 1 را تایپ کنید من؟ بله. راست، در حال حاضر من مطمئن این آرایه های مختلف است. بیایید می گویند ب ج 20،40، 80. خب چی فکر می کنی این دستور را انجام خواهد داد؟ اضافه کردن عناصر است. و بنابراین اساسا این چیزی است که آن را ندارد. پس این است که بسیار راحت است. بنابراین من چگونه در مورد من این کار را. C است، اجازه دهید بگویم، 6 بار 1 تا 10. بنابراین چه چیزی می خواهم ببینم موجود است، فکر می کنید؟ پس همه تقسیم عددی بر مضرب از شش. در حال حاضر، شما چه فکر میکنید خواهد افتاد اگر من این کار؟ من این کمی روشن تر، C، C می کنیم. بنابراین چه اتفاقی می افتد، شما انجام فکر می کنم، اگر من این کار؟ ج به علاوه. [نامفهوم] مخاطبان: در هر دو صورت یک خطا یا آن را فقط می افزاید: سه عنصر اول است. CONNER HARRIS: کاملا. این چیزی است که ما را کردم. چه اتفاقی می افتد کوتاه تر آرایه، یک، چرخه کردم. بنابراین ما 124، 124، 124 است. آره. و اساسا، شما می توانید مشاهده این رفتار قبل، به علاوه 1، به عنوان یک زیر کلاس از این رفتار، که در آن کوتاه ترین آرایه فقط عدد است 1، یک آرایه یک عنصر است. من فقط گفت: Vector تمام شود زمان به جای آرایه، چون این چیزی است که R اسناد و مدارک معمولا. این یک عادت C ریشه دوانده است. خوب، و بنابراین در حال حاضر ما باید این آرایه. بنابراین ما باید این آرایه، C. ما می توانیم خلاصه گرفتن آمار در C، C خلاصه. و این خوب است. پس به انجام برخی از کارهای ماتریس. بیایید می گویند متر یک ماتریس است. اجازه دهید آن را سه توسط سه است. بنابراین nrows برابر 3 و ncols برابر 3. و برای داده های اجازه دهید do-- پس چه شما فکر می کنید این است که کاری انجام دهید؟ درست است، آن یک بعدی است. آن nrow و ncolumn. پس آنچه که من انجام داده ام من اعلام سه به سه ماتریس و من در یک آرایه نه عنصر پشت سر گذاشته. بنابراین لگاریتم از همه عناصر طریق یکی از نه. و تمام کسانی که ارزش را پر کنید با عرض پوزش تا آرایه؟ مخاطبان: این پایه 10 سیاهههای مربوط است؟ CONNER HARRIS: نه، ورود به سیستم است لگاریتم طبیعی، E بنابراین پایه. آره، اگر شما می خواهید پایه 10 ورود به سیستم، من فکر می کنم شما می خواهم که برای ورود هر، تقسیم بر 10 ورود به سیستم. و به این ترتیب داده های [نامفهوم] فقط پر کردن آرایه، به طوری بالا به پایین، پس از آن از چپ به راست. و اگر شما می خواهید به انجام برخی از دیگر آرایه، اجازه دهید بگویم N ماتریس است. اجازه دهید، من نمی دانم، 2-13. یا من چیزی جالب تر است. من 2 تا 4 است. nrow برابر، اجازه دهید بگویم، 3. ncol برابر 4. N. بنابراین ما این را کردم. و در حال حاضر اگر ما می خواهیم به ضرب این، ما N درصد بار درصد انجام دهید، به دلیل این که N. و ما باید محصولات ماتریس. توسط آنها راه، آیا شما ببینید که چگونه وقتی که من اعلام N، 2 تا 4 بردار تا چرخه کردم آن را پر از n همه؟ اگر شما می خواستم به تجزیه به مقادیر ویژه، این چیزی است که ما به راحتی می توانید انجام دهید این است. ما می توانیم eigen N است. و به این ترتیب اولین بار از این ما است برخورد با یک لیست. بنابراین نفر eigen یک لیست با دو کلید است. ارزش ها، که این آرایه در اینجا. و بردارها، این آرایه در اینجا این است که. بنابراین اگر شما می برای استخراج، می گویند، این ستون سوم از ماتریس بردارهای ویژه، به دلیل بردارهای ویژه بردار ستون می باشد. بنابراین ما می توانیم eigen VEC ثبت نام N دلار انجام بردار، کاما 3، از [نامفهوم]. VEC. این است که، همانطور که شما ممکن است انتظار. سپس می گویند n بار درصد بار VEC. بنابراین نتیجه در اینجا قطعا به نظر می رسد اگر ما مقدار ویژه سوم در اینجا صورت گرفت، مطابق با حالت برداری سوم. این فقط همه چیز را در ضرب این بردار ویژه، جزء دانا، توسط مقادیر ویژه. و این چیزی است که ما انتظار می رود، زیرا این چیزی است مقادیر ویژه می باشد. کسی اینجا نیست گرفته جبر خطی؟ مردم زن و شوهر، OK. فقط از مغز خود را برای یک بیت را خاموش کنید. و در واقع اگر ما را eigen N ارزش علامت دلار 3 بار VEC، به خوبی دریافت همین. آن را متفاوت به عنوان یک ردیف فرمت بردار به جای یک بردار ستونی، اما معامله بزرگ است. و بنابراین کسانی که اساسا خوب چیزهایی که ما می توانیم با ماتریس انجام دهید، لیست نشان داده است. من باید خوب نشان می دهد همه چیز در مورد توابع است. بنابراین اجازه دهید می گویند [نامفهوم] تابع، پاسخ بیایید آن تابع برابر تابع N N squared-- در واقع، که واقعا بهترین نیست. A، B، یک مربع به علاوه ب. بنابراین یک چیز در مورد توابع، دوباره، آنها است اظهارات صریح و روشن بازگشت نیاز ندارد. بنابراین شما می توانید just-- آخرین بیانیه ارزیابی خواهد بود که بیانیه ای، و یا ارزش بازگشت. بنابراین در این مورد، ما تنها ارزیابی یک بیانیه، به علاوه ب مربع. این خواهد بود که به طور پیش فرض مقدار بازگشتی. هرگز لطمه می زند را در ارزش بازگشت به صراحت، به خصوص اگر شما با خرید و فروش تابع منطق بسیار پیچیده جریان. اما شما به آنها نیاز ندارد. بنابراین در حال حاضر ما می توانیم تابع 5، 1 انجام دهید، و این است که اساسا آنچه شما می خواهم انتظار می رود. چیز دیگری می توانیم انجام دهیم، ما در واقع می توانید انجام دهید تابع B برابر با 1، یک برابر با 5. بنابراین اگر ما که تعداد در اینجا مشخص، که استدلال می رود به که استدلال در تابع، ما می توانیم در اطراف تلنگر این ارزش ها در هر کجا که می خواهید. مخاطبان: دلیلی وجود به آن ارسال با ب برابر به عنوان مخالف فقط با استفاده از اعداد و کاما از هم؟ CONNER HARRIS: بله، معمولا انجام این کار اگر شما توابع با تعداد زیادی از استدلال است. که اغلب ممکن است مانند پرچم است که شما فقط می خواهم می خواهید به استفاده در موارد نادر. و به این ترتیب شما می توانید شما only-- می توانید به استدلال خاصی اشاره که شما می خواهید به استفاده مقادیر غیر پیش فرض برای، و شما لازم نیست که برای نوشتن یک دسته از پرچم برابر پس از آنها نادرست است. و یا من می توانم این دوباره با ارسال یک مقدار پیش فرض مانند B برابر 2. و پس از آن من می توانم F تابع انجام دهید، من انجام 4، 1 این زمان. و 17 است، که 4 مربع به علاوه 1، به عنوان شما ممکن است انتظار. اما من نیز می فقط این پاسخ با تابع 4، و من 18 است، چرا که من ب مشخص نمی کند. بنابراین b هم مقدار پیش فرض از 2. OK، بنابراین در حال حاضر اگر شما پس همراه با نسخه ی نمایشی، نوع این خط در دستور خود بی درنگ و ببینید چه چیزی می آید تا. در واقع، این کار را نمی کند. این نوع. شما باید چیزی شبیه به این را دریافت کنید. بنابراین mtcars می باشد ساخته شده در داده مجموعه ای برای این تظاهرات اهداف می آید که with-- که می آید در طور پیش فرض با توزیع R خود را. این مجموعه تلفیقی از آمار از است یک مسئله سال 1974 مجله موتور ترند در تعدادی از مدل های مختلف خودرو. بنابراین مایل در هر گالن وجود دارد، cylinders-- من فراموش کرده ام چه یکبار مصرف is-- اسب بخار. شاید. اگر شما فقط خودروهای گوگل MT، سپس یکی از نتایج را اول از باشد اسناد رسمی R و آن را توضیح دهد تمام این زمینه داده است. بنابراین وزن is-- WT است وزن خودرو در تن است. Q ثانیه زمان چهارم مایل است. بنابراین در حال حاضر ما می توانیم برخی چیزهای سرگرم کننده انجام در مورد اتومبیل MT یک فیلد داده است. بنابراین ما می توانیم کارها را انجام مانند نام ردیف، اتومبیل تن. و این یک لیست از تمام ردیف در است مجموعه داده که نام اتومبیل است. ما می توانیم colnames، اتومبیل تن انجام این کار. اگر شما اتومبیل MT، شاخص زیر عددی، مانند 2. ما در ستون دوم از این، خواهد بود که سیلندر. رسید چه کار کردین؟ CONNER HARRIS: من تایپ MT اتومبیل، براکت E، که به من دوم ستون از اتومبیل تن. و یا اگر ما می خواهیم یک ردیف، من می توانم نوع mtcars می کاما 2، به عنوان مثال. دیگر دور 2 کاما از هم، مانند آن. و می رود که در ردیف خود را. این در اینجا فقط به شما می دهد ستون، اما ستون به عنوان یک بردار. من فقط در حال حاضر متوجه شدم من را فراموش کرده به نشان برخی از چیزهایی که در مورد بردار سرد که شما می توانید با شاخص است. بنابراین من اجازه انجام این در حال حاضر. بنابراین اجازه انجام C gets-- قرار دادن این در pause-- 2 بار 1 تا 10. بنابراین C است فقط برای رفتن به بردار 2 تا 20. من می توانم عناصر مانند این را، C2. من می توانم در یک بردار عبور مانند این، به من اجازه c-- استفاده از نام های مختلف از C، C مانند VEC. در واقع، من انجام این پس شما می نمی بین C به عنوان یک اشتباه بردار تابع ساخت و ساز، و سپس C به عنوان یک نام متغیر. براکت VEC C 4، 5، 7. این به من از چهارم گرفتن، پنجم، و هفت عناصر آرایه. من می توانم VEC انجام دهید، در یک منفی قرار داده شاخص، مانند منفی 4. که من با این چهارمین عنصر حذف خواهند شد. پس اگر من می خواستم انجام برش، من می توانم VEC 2 تا 6 است. 2 کولون 6 فقط یکی دیگر از بردار است، که 2، 3، 4، 5، 6. تف کردن که. بنابراین به هر حال، به اتومبیل تن. بنابراین اجازه دهید انجام برخی از رگرسیون. بیایید می گویند مدل gets-- اجازه دهید خطی regress-- من نمی دانم. اول اجازه دهید ضمیمه ها mtcars، البته. بنابراین [نامفهوم] مدل LM، اجازه دهید به عقب مایل در هر گالن در وزن مد. و سپس قاب داده mtcars می باشد. بنابراین مدل خلاصه شده. خوب، پس این به نظر می رسد کمی پیچیده است. اما اساسا، دیدن اگر ما به عنوان سعی کنید به بیان مایل در هر گالن به عنوان یک تابع خطی از وزن، بعد ما این خط رو در اینجا، که ره گیری در 37.28. 37.28 خواهد بود که مایل نظری در هر گالن از یک ماشین است که وزن آن صفر است. و سپس برای هر تن اضافی، شما در مورد پنج مایل در هر گالن دست کشیدن خاموش از آن. هر دو از این ضرایب شما می توانید، خطاهای استاندارد وجود دارد. و آنها بسیار هستند معنی دار است. بنابراین ما می تواند بسیار خاص به 1 از 10 به 10 منفی است. بنابراین 1 بار چیزی را به منفی 10، که اگر شما یک ماشین سنگین تر، آن را بدتر مایل در هر گالن است. و یا ما می توانیم برخی از مدل های دیگر تست کنید. مانند به جای رگرسیون این وزن، اجازه دهید آن را به عقب بر ورود به سیستم از وزن، چرا که شاید وزن موثر در مسافت پیموده شده است به نحوی خطی نیست. این به ما R مربع از 0.7528. بنابراین اجازه دهید این را امتحان کنید. این بار اجازه دهید یک متغیر های مختلف، بیش از حد. Model2. بنابراین به طور خلاصه، model2. همه حق است، پس دوباره، کردم بهترین خط برازش ما در اینجا. و این time-- این می گوید، اساسا هر بار که شما افزایش وزن یک ماشین توسط یک عامل از E این مایل در هر گالن بسیاری از دست بدهند. و بنابراین در این زمان باقیمانده استاندارد ما خطا it-- که مهم نیست، واقعا. خطا باقی مانده استاندارد است اساسا فقط خطای استاندارد که شما پس از ترک دور خط روند. و R ما مربع در اینجا 0.81 است، است که کمی بهتر از آنچه ما قبل از حال، 0.52. و به این ترتیب در حال حاضر اضافه کردن اجازه دهید مدت این رگرسیون. بنابراین اجازه دهید مایل در هر گالن به عقب هر دو در ورود به سیستم از وزن و اجازه دهید، Q مایل، سه ماهه زمان مایل. OK، باید آن را the-- همه حق است، qsec داشته باشد. Qsec. Actually-- با عرض پوزش، چه؟ اجازه بدهید من این چیزی پاسخ دیگری علاوه بر model2. اجازه بدهید من این model3 پاسخ. و بنابراین در حال حاضر ما می توانیم خلاصه model3 است. پس بار دیگر، این است که اساسا چه شما ممکن است انتظار می رود. شما باید عرض از مبدا مثبت است. موثر افزایش وزن منفی است. و موثر افزایش سه ماهه زمان مایل مثبت است، اما اگر کمتر از وزن است. در حال حاضر به طور مستقیم، شما می توانید از را این را با گفتن فکر می کنم در مورد ماشین های اسپرت. یک شتاب بسیار سریع وجود دارد، بسیار کوتاه زمان چهارم مایل. آنها همچنین قصد استفاده از گاز بیشتر، در حالی که اتومبیل معقول تر می رویم که شتاب آهسته تر، برابر بیشتر مایل چهارم، و استفاده از گاز کمتر ،، بنابراین مایل در هر گالن بالاتر. عالی. و بنابراین در حال حاضر از آن زمان به رسم چیزی شبیه به این. بنابراین اجازه دهید تا لخت do-- استخوان ما می توانیم انجام plots-- چون من این قاب داده ها متصل before-- ما فقط می توانید انجام توطئه، MPG وزنی این را به یک کمی بزرگتر است. وجود دارد، ما اساسا یک طرح پراکنده، اما نقاط از نوع سخت است برای دیدن در این. من به خاطر نمی مقدمه چه نحو است برای تغییر طرح. بنابراین من حدس می زنم این خواهد بود زمان خوبی برای مطرح کردن، یک کمک بسیار خوب داخلی وجود دارد ویژگی، به نقل از کمک تابع نام. ما اساسا می آورد تا چیزی که می خواهم. من فکر می کنم در واقع می خواهید این کار را انجام نوع P برابر توطئه برای نقاط. آیا این چیزی را تغییر؟ و نه، نه واقعا. خیلی خوب. برای برخی از دلیل، زمانی که من این کار را بر روی کامپیوتر خود من در حالی که پیش، تمام نقاط پراکندگی بسیار واضح تر بود. به هر حال، از نوع پراکنده از قابل مشاهده است؟ یکی وجود دارد. چند وجود دارد، چند وجود دارد. شما به نوعی می توانید آنها را ببینید، درست است؟ بنابراین اگر ما می خواهیم برای اضافه کردن یک خط برازش به این طرح در اینجا، است که کمی لخت bones-- اجازه دهید من آن را کمی بهتر است. برابر اصلی در برابر وزن. مایل در هر گالن. باز هم، شما می توانید ببینید که چگونه مفید آرگومانهای اختیاری در اینجا با هم داشتن به قرار دادن همه چیز در یک سفارش خاص با استدلال صفحه کلید هنگامی که شما به توطئه، به دلیل این را بسیاری از استدلال است. Xlab برابر وزن، وزن، تن می باشد. خیلی خوب. OK، آره، این دستگاه این است که کمی آزار دهنده است. اما شما می توانید ببینید نوع وجود دارد، یک عنوان نمودار در سمت وجود دارد. در اینجا there's-- در پایین در اینجا برچسب محور وجود دارد. من را به خاطر نمی مقدمه چه دستورات ars-- چه توابع به افزایش به اندازه کسانی که برچسب و عنوان، اما آنها وجود دارد. و بنابراین اگر ما می خواهیم اضافه کردن بهترین خط برازش، ما می تواند چیزی شبیه من به نحو نوشته شده اینجا. بنابراین به یاد داشته باشید که ما فقط به مدل اضافه MPG، وزن، mtcars می شد. و به همین ترتیب اگر من می خواستم برای اضافه کردن یک بهترین جا خط، من می توانم، مدل خط B را انجام دهد. و رونق، ما یک خط برازش. این نوع از سخت برای دیدن دوباره. من کاملا با عرض پوزش در مورد من مشکلات فن آوری. اما آن را اجرا می اساسا بالا به پایین سمت راست به سمت چپ. و اگر در مقیاس بود بزرگتر، شما می توانید ببینید که عرض از مبدا همان چیزی است که شما می توانید پیدا کردن از آمار خلاصه اگر شما مدل خلاصه تایپ کنید. خوب، پس من امیدوارم که هر کس می شود چیزی از یک حس از آنچه R است، چه آن را به خوبی برای. شما می توانید از قطعه دور بهتر از را این در زمان خود، اگر دوست دارید. به طوری که رابط تابع خارجی است. این چیزی است که به طور معمول نمی باشد. تحت پوشش در سخنرانی مقدماتی و یا هر چیزی مقدماتی برای R. این احتمال وجود دارد که شما در حال رفتن به آن نیاز نیست. با این حال، من آن را در مفید پروژه های خود من در گذشته است. و هیچ خوبی وجود دارد آموزش برای آن را آنلاین. بنابراین من فقط رفتن به عجله تمام شما از طریق این و سپس شما به ترک است. و به این ترتیب خارجی رابط تابع چه چیزی است شما می توانید استفاده کنید برای تماس برای دیدن توابع با R. داخلی، R ساخته شده است در حساب C. R است فقط 64 بیتی با ممیز شناور C ریاضی است، که است که نوع double [نامفهوم]. و شما ممکن است می خواهم به انجام این برای یک دسته از دلایل. برای یکی، R تفسیر، آن را به کد ماشین کامپایل نشده است. بنابراین شما می توانید خود را بازنویسی حلقه درونی در C و پس از دریافت استفاده از با استفاده R. ​​مانند آن را کمی راحت تر از C. از آن است که نموداری بهتر امکانات و فلان چیز. و در حالی که هنوز هم قادر بودن به سرعت بالا در خارج از حلقه درونی، که است که در آن شما واقعا به آن نیاز دارید. استفاده مجدد از کتابخانه C موجود، که نیز مهم است. اگر شما برخی از کتابخانه C برای دارند مانند، من نمی دانم، فوریر، و یا برخی از بسیار آرکئن روش آمار استفاده می شود در اختر فیزیک انرژی بالا و یا چیزی، من نمی دانم. اخترفیزیک انرژی بالا حتی یک فکر نمی کنم، من فکر می کنم. اما شما می توانید که به جای انجام داشتن برای نوشتن یک پورت R مادری آنها. و در the-- و دوباره، مانند اگر شما نگاه در بسیاری از کتابخانه ها به طور پیش فرض R است، در داخلی، داخلی هستند رفتن به استفاده از تابع خارجی رابط کاربری بسیار گسترده است. آنها چیزهایی مانند فوریه اند تبدیل و یا همبستگی محاسبه ضرایب نوشته شده در C، و آنها فقط باید فراغ R در اطراف آنها. رابط کاربری است کمی دشوار است. I فکر می کنم دشواری آن است که در یک اغراق آمیز بسیاری از دستورالعمل شما پیدا کنید. اما با این حال، آن است که کمی گیج کننده است. و من قادر به شده است پیدا کردن یک آموزش خوب برای آن، بنابراین این از آن است که در حال حاضر. باز هم، این طیف بخش برای مرجع بعد است. آیا در مورد کپی نگران نباشید همه چیز را در حال حاضر. لذا دستورالعمل های زیر برای سیستم های شبه یونیکس هستند، لینوکس، BSD، OS X. من نمی دانم چگونه این کار بر روی ویندوز، اما لطفا فقط انجام نمی خود را پروژه نهایی بر روی ویندوز. شما واقعا نمی خواهید به. یونیکس مجموعه ای بسیار بهتر است برای برنامه نویسی گاه به گاه. بنابراین، اساسا خارجی رابط تابع. اگر می خواهید ارسال نامه C تابع برای استفاده با R، آن است را به تمام استدلال به عنوان اشاره گر. بنابراین ارزش های تک، این معنی آن را به ارزش اشاره کرد. برای آرایه، این یک اشاره گر است به عنصر اول، که چیزی است که نام آرایه در واقع معنی. باز هم، این چیزی است که شما باید داشته باشد بسیار کاملا پایین پس از P مجموعه پنج. نام آرایه فقط اشاره گر به عنصر اول، نوع ممیز شناور دو برابر شده است. و عملکرد خود را به بازگشت اعتبار ساقط است. تنها راهی است که می توانید آن را در واقع به R چه اتفاقی افتاده است با تغییر حافظه است که R به به آن از طریق تابع های خارجی رابط. بنابراین من این نوشته ام به عنوان مثال در اینجا، این است یک تابع است که محاسبه استفاده محصولات از نقطه دو بردار. آن طول می کشد دو استدلال، vec1، vec2، که بردار خود هستند، و پس از آن N است، که یک طول، چرا که دوباره، R در [نامفهوم] ساخته شده است برای پیدا کردن طول بردار، اما C را نمی کند. در C، بردار است خودسرانه تکه جدا از حافظه است. بنابراین راه شما می توانید محاسبه ضرب نقطه فقط این مجموعه ای از پارامتر به صفر و سپس از طریق تکرار از 1 به ستاره N، به دلیل N یک اشاره گر به طول است، فقط چیزی برای اضافه کردن این پارامتر. و می توان آن عمل خوب اگر شما در حال رفتن به این به ارسال دو تابع جداگانه C. یکی از آنها has-- یکی از آنها فقط بحث ها و انواع طول می کشد که آنها معمولا در C باشد. پس از آن طول می کشد یک آرایه استدلال به عنوان اشاره گر. اما بحث و جدل تک ارزش مانند N، آن را فقط به عنوان ارزش طول می کشد کپی، بدون اشاره گر. و سپس آن را نمی کند [نامفهوم] اشاره گر. و پس از آن شما می توانید مختلف، در واقع، تابع لفاف بسته بندی است که اساسا دسته الزامات از تابع خارجی رابط کاربری را برای شما. روشی که این پاسخ در R است، یک بار شما عملکرد خود را به زبان C، شما تایپ می کنید R shlib CMD، R دستور کتابخانه مشترک، تولی دات C، یا هر چیز دیگری نام فایل خود را، و سیستم عامل شل در ترمینال R نیست. و این یک ایجاد کتابخانه بنام foo نقطه است. و سپس شما می توانید آن را در بار اسکریپت ما و یا تعاملی با دستور DYN نقطه بار. سپس یک تابع وجود دارد در R به نام نقطه C. این استدلال که طول می کشد اول نام تابع در C که شما می خواهید تماس بگیرید. و سپس تمام پارامترهای به این تابع، آنها باید در جهت مناسب باشد. شما باید برای استفاده از این نوع توابع اجبار به عنوان عدد صحیح، به عنوان دو، به عنوان شخصیت، و منطقی است. و سپس هنگامی که آن را می گرداند لیست، که دوباره تنها یک آرایه در ارتباط از نام پارامتر و ارزش پس از عملکرد را اجرا کرده است. بنابراین در این مورد، به دلیل انگیختن نقطه است استدلال vec1، vec2 و int N، N است. به نقطه C ما انگیختن نقطه، نام تابع ما خواستار، vec1، vec2، نوع مجبور. طول هم بردار، من فقط انتخاب vec1 خودسرانه. این امر می تواند قوی تر به بازدید کنندگان طول دقیقه صحیح vec1، vec2 طول. پس از آن فقط به عنوان صفر دو برابر چون ما واقعا نمی مراقبت از آنچه می رود به خارج پارامتر زیرا ما تنظیم آن را به صفر به هر حال. و سپس نتایج به دست آمده برای رفتن به یک آرایه بزرگ همراه اساسا vec1 است هر چه، هر vec2 است. اما ما علاقه مند هستید ، بنابراین ما می توانیم که بیرون. این است که دوباره، به عنوان مثال اسباب بازی بسیار از یک رابط تابع خارجی است. اما اگر شما برای محاسبه نقطه محصولات بردار عظیم در حلقه ها، و یا اگر شما را مجبور به انجام چیز دیگری در یک حلقه، و شما نمی خواهید به R تکیه می کنند، که نشانی از یک بیت از بالای سر ساخته شده را به آن، این می تواند مفید باشد. باز هم، این است که معمولا موضوع مقدماتی به R. آن را به خوبی مستند نشده است. من فقط آن را به دلیل از جمله من پیدا کردم آن را در گذشته مفید است. شیوه بنابراین، بد است. من به ذکر است که وجود دارد برای حلقه در تابع. به طور کلی شما باید نیست، در زبان، آن را استفاده نمی کند. بر اساس چگونه R پیاده سازی تکرار داخلی، می توان آن را آهسته است. آنها فقط هم نگاه زشت. R دسته بردار بسیار خوبی، به طوری که اغلب شما لازم نیست آن استفاده کنید. سپس شما معمولا می توانید جایگزین یک بردار اغلب با این توابع به نام بالا توابع سفارش، نقشه، کاهش، یافتن، و یا فیلتر. من فقط برخی از دادن نمونه هایی از آنچه این را انجام دهد. نقشه یک تابع مرتبه بالاتر به دلیل است آن طول می کشد یک تابع به عنوان یک استدلال. بنابراین شما می توانید آن را یک تابع را، شما می توانید آن یک آرایه را، و آن را تابع اعمال به هر عنصر از آرایه و بازگشت به آرایه جدید. کاهش می دهد، در واقع شما را آن یک آرایه، شما آن را یک تابع است که دو آرگومان می گیرد. آن را به عملکرد اول، اعمال آرگومان اول با برخی از ارزش استارت. پس از آن به که در نتیجه در دوم. پس از آن به که در نتیجه در سوم، پس از آن به که در نتیجه در چهارم. و سپس بازگشت که آن را به پایان می شود. بنابراین برای مثال، اگر شما می خواهید محاسبه مجموع تمام عناصر در یک آرایه، از شما ممکن است پاسخ را کاهش می دهد با [نامفهوم] علاوه بر کاهش تابع، تابع مانند A، B، بازگشت به علاوه ب. و سپس شروع به مقدار 0. و همه این، شما می توانید آنها را پیدا کنید شرح داده شده در اسناد و مدارک R است، در هر کتاب درسی در برنامه نویسی تابعی. است این دسته از هم وجود دارد توابع به نام توابع اعمال می شود، که من don't-- آنها کمی سخت به توضیح اما اگر شما در نگاه [نامفهوم] رزرو که من در آغاز اشاره کرد، او آنها را به خوبی توضیح می دهد که آپاندیس خود را در برنامه نویسی R. بیشتر در مورد شیوه، اضافه به بردار. آره؟ من فکر می کنم من باید درست است که. در خط اول، فلش VEC، که فلش نباید وجود داشته باشد. شما می توانید به یک بردار اختصاص دهید، دوباره، با نگاهی به طول آن به علاوه 1 و اختصاص برخی از ارزش به آن. که بردار گسترش، و یا شما می توانید برابر VEC C، newvalue VEC است. باز هم، اگر شما با استفاده از C با یک استدلال به یک بردار، سلسله مراتب نتیجه مسطح می شود. بنابراین شما فقط می خواهید یک بردار که توسط 1 افزایش یافته است. هرگز این کار را. به همین دلیل شما باید انجام دهید این است. وقتی که شما اختصاص یک بردار، آن آن را می دهد یک تکه خاص از حافظه است. اگر شما که اندازه بردار افزایش می دهد، آن را به دوباره اختصاص بردار یک جای دیگر. و به این ترتیب تخصیص مجدد بسیار گران است. من نمی خواهد به جزئیات چگونگی رفتن تخصیص حافظه در حال اجرا در سطح سیستم عامل، اما طول می کشد زمان زیادی را برای پیدا کردن یک تکه جدید از حافظه است. و همچنین، اگر شما تخصیص مجدد تعداد زیادی به تدریج بزرگتر از تکه، شما را تا پایان با چیزی به نام تکه تکه شدن حافظه، که در آن حافظه موجود است به تعداد زیادی از بلوک کمی تقسیم در نقطه تخصیص حافظه از نظر. و آن را سخت تر می شود و سخت تر پیدا حافظه برای چیزهای دیگر. بنابراین به جای، اگر شما نیاز به انجام این کار، اگر شما نیاز به رشد یک بردار از یک پایان به بعد، به جای اضافه به آن به طور مداوم، شما باید قبل از اختصاص آن. فلش VEC، طول بردار برابر 1،000، یا هر چیز دیگری. و سپس شما فقط می توانید اختصاص دهید به بردار ارزش یک زمان بعد از شما آن را یک بار اختصاص داده است. من به این زد، دوباره، کار در تابستان من زمانی که من در نوشتن دیفرانسیل NRA حل معادله. نمادین نیست عددی. ایده این است که هنگامی که شما یک مقدار برای راه حل خود، استفاده می کنید که برای محاسبه یک بعدی است. بنابراین طبیعی من ساده و بی تکلف تمایل بود که می گویند خوب، بنابراین من با یک بردار شروع که یک مقدار قابل توجهی است. محاسبه از آن است که ارزش بعدی که می رود بر روی بردار راه حل من، و اضافه است. درست چیز دیگری، اضافه شده است. آن رفت بسیار، بسیار آرام است. و یک بار من متوجه شدم این و من سیستم من تغییر از الحاق به این بردار مانند 10،000 تا 100،000 بار، فقط قبل از تخصیص یک بردار و فقط در حال اجرا با آن است. من بیش از 1،000 برابر سرعت تا شدم. پس این است که بسیار معمول تله برای برنامه نویسی R. اگر شما نیاز به ساخت تا یک بردار قطعه قطعه، پیش اختصاص آن. یکی دیگر از سفر مشترک up-- این آخرین من است اسلاید، نمی worry-- رفع خطا است. R، به فرانک، نمی کند واقعا این کار بسیار خوب است. مقدار زیادی از ... وجود دارد مشکلات است که می تواند تا محصول. به عنوان مثال، اگر شما یک آرایه و یا یک بردار از یک تابع که انتظار داشتید یک ارزش به آمده، و یا بالعکس، و به شما منتقل که به یک تابع است که شما نوشت انتظار یک ارزش واحد، است که می تواند یک مشکل باشد. توابع خاص بازگشت null به عنوان، می گویند، خواندن از یک کلید وجود ندارد در یک لیست. اما صفر نیست دوست C که در آن شما سعی می کنید اگر به عنوان خوانده شده از یک اشاره گر قدیمی، [نامفهوم] به تهی اشاره گر، آن را فقط از seg گسل و اگر شما در دیباگر خود را در آن به شما می گوید دقیقا همان جایی که شما هستند. در عوض، تهی خواهد توابع do-- همه چیز غیر قابل پیش بینی انجام اگر آنها مقدار null دست است. مانند اگر شما در حال تحویل حداکثر تهی، آن را به شما بی نهایت منفی بدهد. و به این ترتیب، آره. و به این ترتیب این اتفاق افتاده است برای من یک بار زمانی که من مجبور یک دسته از رشته های تغییر در ساختار لیست من یک بار بدون تغییر آنها در جاهای دیگر زمانی که من از آنها را به خواندن شد. و پس از آن من همه نوع تصادفی کردم نتایج بی نهایت برداشت تا و من هیچ نظری که در آن از آنها آمد. و متاسفانه، وجود دارد هیچ حالت سخت واقعی R آن شما می توانید اگر چیزی می گویند به نظر می رسد مانند آن ممکن است خطا، فقط وجود دارد را متوقف بنابراین من می تواند منظم و رفع آن. با این حال، چیزی وجود دارد نام Stop اگر نه. این معادل به ادعا C است، اگر شما در مورد که صحبت کردیم. من فکر نمی کنم C ادعا موضوع سخنرانی است، اما رهبر بخش خود را ممکن است بیش از آن رفته است. و اگر متوقف اساسا نمی طول می کشد هر گزاره، به طوری که هر بیانیه ای که می تواند درست یا غلط. و اگر آن را نادرست، آن برنامه خود را متوقف می کند. به شما می گوید دقیقا همان چیزی به شما خط در بود و وضعیت شکست خورده است. و این بسیار مفید است، برای مثال، بررسی سلامت عقل، ورودی تابع است. بنابراین اگر شما یک تابع و شما انتظار می رود، می گویند، اگر شما باید به من یک تاریخ را، من می خواهم تاریخ فقط یک بردار به طول 1 و جایی بین 1 و 31. و اگر نه، من می دانم چیزی را اشتباه رفته است. و من را انتخاب کنید برای توقف وجود دارد قبل از این است در اثر ضربه تصادفی با کد که آن را سخت برای ردیابی از طریق. به طوری که ممکن است یک استفاده برای توقف اگر نه. به هر حال، OK. طوری که در پایان است. از شما بسیار سپاسگزارم برای آینده. من یک آماتور رتبه در این هستم. بنابراین با عرض پوزش اگر شما خسته هستید و یا اشتباه و یا آنچه شما داشته باشد. خوشحال می شوم که سوال از طریق ایمیل هستم در connorharris@college.harvard.edu. این نیز می رود برای همه تماشای این زندگی می کنند یا بعد از آن. همچنین، هر چند من نمی TF، من نیز بسیار هستم حاضر به عنوان غیر رسمی خدمت مشاور برای هر کسی که با استفاده از R در یک پروژه نهایی. اگر شما می خواهم به آن، پس از آن فقط به TF خود صحبت کنید و سپس به من یک ایمیل ارسال تا من می دانم آنچه را که شما کار بر روی و بنابراین من می توانید راه اندازی جلسه بار با شما اگر شما می خواهید. پس دوباره، از شما بسیار سپاسگزارم. من امیدوارم که شما از آن لذت بردم. مخاطبان: [نامفهوم]. CONNER HARRIS: البته. مخاطبان: چه نوع از یک پروژه یک دانش آموز CS استفاده R برای؟ CONNER HARRIS: بنابراین اگر شما نمی چیزی است که صرفا در داده کاوی، برای مثال، وجود دارد و بسیاری از چیزهایی هستند شما می توانید با که با داده ها را انجام کاوی و یادگیری ماشین. شما ممکن است مایل به استفاده از R برای یک جزء از چیزی. من به ارمغان آورد تا، در اصل، به عنوان مثال اگر شما از یک وب سایت در حال نوشتن و شما می خواهید برای اجرای خودکار تجزیه و تحلیل آماری سرور شما سیاهههای مربوط در یک زمان خاص هر روز، که ممکن است چیزی است که بسیار آسان برای انجام فقط در یک مختصر R اسکریپت است که شما می توانید برنامه برای اجرای هر شب، به عنوان مثال. و من مطمئن هستم، اگر است به هر دلیلی وجود دارد که شما می خواهم می خواهید آمار و یا قابلیت های نموداری طور خودکار به جای و این اجرا نیاز به تعامل با همه چیز در اکسل، برای مثال، این چیزی است که شما ممکن است مایل به استفاده از R برای. بنابراین هر گونه سوال بیشتر قبل از من را ترک کنند؟ هیچ؟ همه حق است، خوب، دوباره، با تشکر از بسیار از شما برای آینده.