CONNOR हैरिस: फिर भी मैं कुछ रोमांचक वीडियो लगता है एक व्यावसायिक परामर्श द्वारा उत्पादित कि आर अपने काम में एक बहुत उपयोग करता है। बयान: आँकड़ों के पीछे क्या है, एनालिटिक्स, और visualizations कि आज के प्रतिभाशाली डेटा वैज्ञानिकों और व्यापार जगत के नेताओं पर भरोसा शक्तिशाली निर्णय लेने के लिए? आप हमेशा यह नहीं देख सकते हैं। लेकिन यह नहीं है। यह अनुसंधान कहा जाता है, खुला स्रोत r-- सांख्यिकीय प्रोग्रामिंग भाषा डेटा है कि विशेषज्ञों दुनिया सब कुछ के लिए इस्तेमाल को लेकर सामाजिक व्यापक मानचित्रण से ऑनलाइन और विपणन प्रवृत्तियों वित्तीय और जलवायु के विकास के लिए हमारी अर्थव्यवस्थाओं मदद ड्राइव मॉडल है कि और समुदायों। लेकिन क्या वास्तव में आर क्या है और जहां आर शुरू किया था? खैर मूल रूप से, आर शुरू कर दिया यहां दो प्रोफेसरों के साथ जो एक बेहतर सांख्यिकीय चाहता था अपने छात्रों के लिए मंच। इसलिए वे एक मॉडलिंग की बनाया सांख्यिकीय भाषा एस के बाद वे कई अन्य लोगों के साथ-साथ, पर काम और अनुसंधान का उपयोग कर रखा, आर के लिए उपकरण बनाने और खोजने आर के लिए नए अनुप्रयोगों हर दिन है। इस के लिए धन्यवाद है दुनिया भर में समुदाय के प्रयास, आर हजारों के साथ बढ़ रहा है निर्मित उपयोगकर्ता बनाया पुस्तकालयों की आर कार्यक्षमता बढ़ाने के लिए और भीड़ sourced गुणवत्ता का सत्यापन और सबसे ज्यादा मान्यता से समर्थन हर क्षेत्र में उद्योग के नेताओं कि आर क्योंकि जो महान है, का उपयोग करता है आर यह क्या करता है पर सबसे अच्छा है। जल्दी विशेषज्ञों नवोदित और आसानी से व्याख्या करते हैं, के साथ बातचीत, और तेजी से अपने दिखा डेटा कल्पना दुनिया भर में अनुसंधान उपयोगकर्ताओं की बढ़ती समुदाय और कैसे खुला स्रोत देख आर आकार जारी सांख्यिकीय का भविष्य विश्लेषण और डेटा विज्ञान। CONNOR हैरिस: ठीक है, महान। मेरी अपनी प्रस्तुति तो थोड़ा और अधिक शांत हो जाएगा। यह है कि ज्यादा शामिल नहीं होगी रोमांचक पृष्ठभूमि संगीत। आप वीडियो में देखा था लेकिन, जैसा कि आर प्रकार है एक सामान्य प्रयोजन कार्यक्रम भाषा की। लेकिन यह ज्यादातर बनाया गया था सांख्यिकीय काम के लिए। तो यह आँकड़ों के लिए बनाया गया है, डेटा खनन के लिए डेटा विश्लेषण के लिए। और तो आप का एक बहुत में यह देख सकते हैं डिजाइन विकल्प है कि आर के निर्माताओं बनाया है। यह काफी हद तक के लिए तैयार है नहीं कर रहे हैं, जो लोगों को प्रोग्रामिंग में विशेषज्ञों, कौन सिर्फ प्रोग्रामिंग उठा रहे हैं पक्ष पर तो वे अपने काम कर सकते हैं सामाजिक विज्ञान के क्षेत्र में या आँकड़ों में जो कुछ भी। यह बहुत की एक बहुत है सी से महत्वपूर्ण मतभेद वाक्य रचना और मानदंड लेकिन इसे इस्तेमाल करता है कि मोटे तौर पर एक ही हैं। और तुम बहुत महसूस करना चाहिए सही बल्ले से घर में ज्यादा। यह एक अनिवार्य भाषा है। उस के बारे में बहुत ज्यादा चिंता मत करो आप शब्द का पता नहीं है। लेकिन एक अंतर है जरूरी, कथात्मक के बीच, और कार्यात्मक। पहल सिर्फ तुम बनाने का मतलब मूल रूप से आदेशों हैं कि बयान। और फिर दुभाषिया या कंप्यूटर उन्हें एक के बाद एक इस प्रकार है। यह दुर्बलता से देखते हैं, टाइप आर में कोई प्रकार घोषणाओं और फिर लाइनों विभिन्न प्रकार के बीच थोड़ा और अधिक ढीले से कर रहे हैं वे उदाहरण के लिए, सी में हैं। और मुझे कहा कि वहाँ के रूप में बहुत व्यापक सुविधाएं रेखांकन के लिए, सांख्यिकीय के लिए डेटा खनन के लिए विश्लेषण,। इन दोनों में बनाया जाता है भाषा और वीडियो के रूप में कहा, तीसरे पक्ष के पुस्तकालयों के हजारों कि आप डाउनलोड करने और नि: शुल्क उपयोग कर सकते हैं बहुत ढीला लाइसेंस शर्तों के साथ। सामान्य रूप में तो, मैं सुझाव चाहते हैं आप इन दो किताबों को देखो कि आप आर वन पर काम करने के लिए जा रहे हैं उनमें से एक अधिकारी आर शुरुआत है गाइड। यह द्वारा बनाए रखा है आर के कोर डेवलपर्स तुम्हें पता है, फिर से मुक्त इसे डाउनलोड कर सकते हैं वहाँ उस लिंक पर कानूनी तौर पर चार्ज और। इन सभी स्लाइड जाने के लिए जा रहे हैं इंटरनेट पर, CS50 वेबसाइट पर इस के बाद किया जाता है। तो कोई ज़रूरत कॉपी करने के लिए पागलपन बातें नीचे। अन्य एक है एक Cosma Shalizi द्वारा पाठ्यपुस्तक, एक आंकड़े के प्रोफेसर पर कौन है कार्नेगी मेलॉन, उन्नत डाटा कहा एक से विश्लेषण देखें की प्राथमिक प्वाइंट। यह मुख्य रूप से एक आर किताब नहीं है। यह एक आँकड़े किताब है और यह एक डेटा विश्लेषण किताब है। लेकिन यह लोगों के लिए बहुत सुलभ कौन है आँकड़ों के ज्ञान भोजन की थोड़ी मात्रा है। मैं एक औपचारिक पाठ्यक्रम कभी नहीं लिया है। मैं सिर्फ बिट्स और टुकड़े जानते विभिन्न संबद्ध विषयों से कि मैं में पाठ्यक्रम ले लिया है। और मुझे समझने में सक्षम था यह पूरी तरह से अच्छी तरह से। सभी आंकड़े दिए गए हैं आर में वे आर में बना रहे हैं और वे भी कोड लिस्टिंग है प्रत्येक आंकड़ा नीचे आपको बता कि कैसे आप आर कोड के साथ एक आंकड़ा बनाते हैं। और कहा कि यदि बहुत उपयोगी है आप का अनुकरण करने की कोशिश कर रहे हैं आप एक किताब में देख कुछ आंकड़ा। और फिर से मुक्त डाउनलोड क्षमा करें, stat.cmu.edu/cshalizi/ कि टिल्ड cshalizi स्लेश किया जाना चाहिए। मुझे लगता है कि सही करने के लिए सुनिश्चित करेंगे आधिकारिक स्लाइड ऊपर जाना है। बस है जो / ADAfaEPoV किताब का शीर्षक के परिचित करा रहा। तो सामान्य caveats-- आर क्षमताओं का एक बहुत कुछ है। मैं केवल कवर करने के लिए सक्षम होने के लिए जा रहा हूँ बहुत सारी बातें की सतह। संगोष्ठी का भी पहला भाग एक डेटा डंप के बारे में कुछ होने जा रहा है। मैं उस बारे में काफी माफी चाहता हूँ। असल में, मैं जा रहा हूँ बहुत सारी बातें करने के लिए परिचय सही बल्ले से जा रहा है, जितना जल्दी हो सके। और फिर हम करने के लिए मिलता है है जो मज़ा हिस्सा है, मैं तुम्हें सब कुछ दिखा सकते हैं जहां डेमो हम स्क्रीन पर के बारे में बात की है कि। और अगर आप अपने दम पर चारों ओर से खेल सकते हैं। इसलिए का एक बहुत कुछ होने जा रहा है तकनीकी सामान यहां पर फेंक दिया। सब है कि नीचे कॉपी करने के बारे में चिंता मत करो। एक, क्योंकि आप प्राप्त कर सकते हैं सब बाद में CS50 वेबसाइट पर सामान। और बी, यह सच है कि महत्वपूर्ण नहीं है स्लाइड से यह याद करने के लिए। यह आपको मिलता है कि अधिक महत्वपूर्ण है इसके साथ कुछ सहज सुविधा और कहा कि बस के आसपास खेल से आता है। तो क्यों R का उपयोग करें? असल में, आप एक परियोजना है कि बड़े डेटा सेट खनन शामिल है, डेटा दृश्य, आप यदि आप आर का उपयोग करना चाहिए जटिल सांख्यिकीय विश्लेषण कर रही है, कि, एक्सेल में करना मुश्किल होगा उदाहरण के लिए, यह होगा इसके अलावा भी good-- किया आप सांख्यिकीय कर रहे हैं स्वचालित है कि विश्लेषण। मान लीजिए कि आप एक वेबसाइट को बनाए रखने रहे हैं और कहते हैं। और अगर आप सर्वर लॉग पढ़ना चाहते हैं हर दिन और, कुछ सूची संकलन शीर्ष देशों की तरह है कि अपने उपयोगकर्ताओं से आ रहे हैं पर कब तक कुछ सारांश आँकड़े वे अपनी वेबसाइट या जो कुछ भी पर खर्च करते हैं। और आप हर दिन इस चलाना चाहते हैं। अब आप Excel में यह कर रहे हैं, यदि आप अपने सर्वर लॉग करने के लिए जाने के लिए होगा एक में है कि आयात Excel डेटा स्प्रेडशीट, स्वयं सभी विश्लेषण चलाते हैं। आर के साथ, आप सिर्फ एक स्क्रिप्ट लिख सकते हैं। हर दिन चलाने के लिए यह अनुसूची अपने ऑपरेटिंग सिस्टम से। और फिर 2:00 पर हर रात, या आप को चलाने के लिए यह कार्यक्रम जब भी, इसके माध्यम से दिखेगा अपने उस दिन के लिए इंटरनेट यातायात। और फिर अगले दिन से, तुम हूँ इस चमकदार, नई रिपोर्ट सब के साथ या जो कुछ भी जानकारी आप के लिए कहा। तो बुनियादी तौर पर आर सिस्को के लिए है सिस्को विश्लेषण बनाम प्रोग्रामिंग। प्रारंभिक किया जाता है। के असली चीजों में मिलता है। तो तीन असली देखते हैं भाषा में प्रकार के। संख्यात्मक प्रकार है। के बीच एक अंतर की तरह नहीं है पूर्णांकों और फ्लोटिंग अंक, लेकिन वाकई में नहीं। एक चरित्र नहीं है तार है, जो टाइप करें। और एक तार्किक नहीं है, Booleans है, जो टाइप करें। और अगर आप प्रकार के बीच परिवर्तित कर सकते हैं संख्यात्मक रूप में इन कार्यों का उपयोग कर, तार्किक रूप में चरित्र के रूप में। आप कहते हैं, उदाहरण के लिए, एक तार पर संख्यात्मक रूप में, यह कि स्ट्रिंग पढ़ने के लिए कोशिश करेंगे एक संख्या है, उसी तरह के रूप में कि a2i और scanf करते हैं, और सी हैं आप सही है या गलत पर संख्यात्मक रूप में फोन यह 1 या 0 को बदल देंगे। आप चरित्र के रूप में कहते हैं पर कुछ भी करेंगे एक में है कि परिवर्तित स्ट्रिंग प्रतिनिधित्व। और फिर वैक्टर और matrices देखते हैं। तो वैक्टर मूल रूप से कर रहे हैं एक आयामी arrays। उन्होंने कहा कि हम में सरणियों क्या कहते हैं सी Matrices, 2 आयामी arrays। और फिर अधिक आयामी arrays आप कर सकते हैं 3, 4, 5 आयाम या जो कुछ भी है संख्यात्मक मान का, तार का, के तार्किक मान। आप भी कर रहे हैं, जो सूची है साहचर्य सरणी की तरह। मुझे लगता है कि एक बिट में मिल जाएगा। इसलिए एक महत्वपूर्ण बात कि आर में लोगों को यात्राएं कोई यह है कि वहाँ असली, शुद्ध परमाणु प्रकार के। कोई वास्तविक भेद के बीच नहीं है एक नंबर, एक अंकीय मूल्य की तरह, संख्यात्मक मान के और एक सूची। अंकीय मान रहे हैं वास्तव में लंबाई 1 वैक्टर के रूप में ही। और इस का एक नंबर है महत्वपूर्ण प्रभाव। एक, यह आप क्या कर सकते हैं कि इसका मतलब है शामिल है कि बहुत आसानी से चीजों को एक वेक्टर के लिए एक नंबर जोड़ने की तरह। आर होगा मूल रूप से यह आंकड़ा बाहर तुम क्या मतलब है। और मुझे लगता है कि एक दूसरे में मिल जाएगा। यह भी कोई तरीका नहीं है कि इसका मतलब है प्रकार के लिए इस हद तक checker-- लगता है कि जैसे कि कुछ बताने के लिए r-- में मौजूद है अगर आप सिंगल मूल्य में पारित कर दिया गया है जब यह एक सरणी या ठीक इसके विपरीत की उम्मीद है। और है कि कुछ अजीब कारण बन सकता है मैं जब में भाग गया है कि मुसीबतों मैं अपने गर्मियों में नौकरी के दौरान आर इस्तेमाल कर रहा था। और कोई मिश्रित प्रकार सरणियों देखते हैं। तो अगर आप एक सरणी थे नहीं हो सकता पहला तत्व है, मैं नहीं जानता है, स्ट्रिंग "जॉन" और दूसरा तत्व संख्या 42 है। आपको लगता है कि ऐसा करने की कोशिश करते हैं, तो आपको मिलेगा सब कुछ सिर्फ एक स्ट्रिंग के लिए बदल दिया। इसलिए हम स्ट्रिंग जॉन, स्ट्रिंग 42 है। सबसे features-- तो असामान्य वाक्यात्मक आर के वाक्य रचना सी के समान है कुछ महत्वपूर्ण मतभेद हैं। टंकण बहुत कमजोर है। तो कोई चर घोषणाओं देखते हैं। असाइनमेंट अजीब का उपयोग करता है एरर ऑपरेटर हाइफन से कम है। टिप्पणियां हैश चिह्न के साथ कर रहे हैं। मुझे लगता है हम हैशटैग इसे कहते हैं दिन अब लगता है कि वास्तव में नहीं है, हालांकि नहीं accurate-- डबल स्लेश। मॉड्यूलर अवशेषों %% संकेत के साथ कर रहे हैं। पूर्णांक प्रभाग है जो% /% के साथ है यह अनुमान है जब पढ़ने के लिए बहुत कठिन स्क्रीन पर। आप की सीमाओं प्राप्त कर सकते हैं पेट के साथ पूर्णांकों। तो 2,5 आप एक वेक्टर दे देंगे सभी नंबरों को 2 से 5 तक की। सारणियों एक अनुक्रमित रहे हैं, शिकंजा जो बहुत से लोगों को वे अधिक से कर रहे हैं, तो ऊपर ठेठ प्रोग्रामिंग भाषाओं, जहां सी, सबसे अधिक पसंद चीजों को शून्य क्रमाँक हैं। फिर, यह जहां आर की विरासत है की तरह नहीं करने के लिए एक भाषा के रूप में पेशेवर प्रोग्रामर में आता है। आप एक समाजशास्त्री रहे हैं या एक अर्थशास्त्री या कुछ और और आप का उपयोग करने के लिए कोशिश कर रहे हैं आर मूल रूप से एक सहायक के रूप में अपने और अधिक महत्वपूर्ण करने के लिए पेशेवर काम, आप खोजने के लिए जा रहे हैं थोड़ा और अधिक प्राकृतिक एक-अनुक्रमण। आप गिनती शुरू क्योंकि रोजमर्रा की जिंदगी में 1, न 0 पर। के लिए छोरों, इस के समान है foreach, पीएचपी में निर्माण आप के लिए मिल जाएगा जो बहुत जल्द in-- सीखते हैं। जो वेक्टर में मूल्य के लिए है और तो आप मान के साथ बातें कर सकते हैं। दर्शकों: यह व्याख्यान में आया है। CONNOR हैरिस: ओह, कि उत्कृष्ट, व्याख्यान आते हैं। दर्शकों: काम, यह है दाईं से बाईं ओर इंगित करना चाहिए? CONNOR हैरिस: छोड़ दिया सही से करने के लिए, हाँ। आप पर मूल्य के रूप में सोच सकते हैं चर में shoved सही बाईं तरफ। दर्शकों: ठीक है। CONNOR हैरिस: और अंत में फ़ंक्शन सिंटैक्स एक अजीब सा है। आप समारोह का नाम Foo, सौंपा है इस कीवर्ड समारोह के लिए पीछा किया, तो सभी तर्कों और से उस के बाद समारोह के शरीर। फिर इन चीजों को हो सकता है थोड़ा अजीब लग रहे हैं। वे के बाद दूसरी प्रकृति बन जाऊँगा आप एक बिट के लिए भाषा के साथ काम करते हैं। वैक्टर तो, रास्ता आप एक सदिश का निर्माण एक कीवर्ड है जो आप प्रकार सी है, तो है, सब तुम चाहते नंबर या तार जो कुछ भी। तर्क भी वैक्टर किया। लेकिन परिणामस्वरूप सरणी चपटा हो जाता है। तो अगर आप सरणियों जहां नहीं हो सकता कुछ तत्वों एकल नंबर इस प्रकार हैं और कुछ तत्वों सरणियों स्वयं कर रहे हैं। आप एक का निर्माण करने की कोशिश तो अगर सरणी पहला तत्व 4 थे और दूसरा तत्व सरणी 3,5 आप करेंगे बस, 4,3,5 एक तीन तत्व सरणी मिलता है। वे मिश्रित प्रकार के नहीं हो सकता। आप पढ़ने या लिखने की कोशिश करते हैं एक सदिश की सीमा से बाहर आप एनए एक नामक इस मूल्य मिलेगा जो एक लापता मूल्य के लिए खड़ा है। और इस के लिए करना है सांख्यिकीविदों की तरह है जो अधूरा डेटा सेट के साथ काम कर रहे हैं। आप माना जाता है कि एक समारोह में लागू होते हैं एक सरणी के लिए सिर्फ एक नंबर लेने के लिए तो क्या आप मिल जाएगा, है समारोह सरणी पर नक्शा होगा। अपने कार्य के लेता है हम कहते हैं तो अगर एक संख्या है और रिटर्न यह वर्ग। आप सरणी 2,3,5 को लागू क्या आपको मिलेगा सरणी 4,9,25 है। और कहा कि बहुत उपयोगी है यह आप क्योंकि इसका मतलब है के लिए छोरों के लिए लिखने की जरूरत नहीं है आवेदन करने की तरह बहुत ही सरल बातें कर रही है एक डेटा सेट के सभी सदस्यों को एक समारोह। जो तुम बड़े के साथ काम कर रहे हैं डेटा सेट, आप एक बहुत कुछ करना है। बाइनरी कार्य कर रहे हैं प्रवेश द्वारा लागू प्रविष्टि। मुझे लगता है कि में मिल जाएगा। आप सरणियों के साथ उन तक पहुँच सकते हैं वर्ग कोष्ठक के साथ या वैक्टर। तो वेक्टर नाम वर्ग कोष्ठक 1 जब आप पहली बार तत्व दे देंगे। वेक्टर नाम वर्ग कोष्ठक 2 आप दूसरे तत्व दे देंगे। आप एक वेक्टर पर पारित कर सकते हैं और सूचकांक की तुम हूँ वापस मूल रूप से एक उप कारक बाहर निकलते हैं। तो अगर आप वेक्टर नाम कोष्ठक सी कर सकते हैं, 2,4 और आप से युक्त एक वेक्टर बाहर निकलना होगा दूसरे और चौथे सरणी के तत्वों। और अगर आप चाहते हैं सिर्फ एक त्वरित सारांश आंकड़ा अन्तःचतुर्थक तरह एक वेक्टर के रेंज, मंझला, अधिकतम, जो भी, आप सिर्फ सारांश टाइप कर सकते हैं वेक्टर नाम और है कि बाहर निकलते हैं। यही कारण है कि में वास्तव में उपयोगी नहीं है प्रोग्रामिंग लेकिन आप खेल रहे हैं डेटा सेट के आसपास है, यह आसान है। मूल रूप से Matrices-- उच्च आयामी सरणियों। वे इस विशेष संकेतन वाक्य रचना है। हो जाता है कि एक सरणी के साथ मैट्रिक्स डेटा के साथ क्षमा करें, मैट्रिक्स in-- भरा है, पंक्तियों की संख्या, स्तंभों की संख्या। आप कुछ डेटा है, तो उस में भरता है सरणी मूल रूप से नीचे से ऊपर जा रहा है पहले। फिर सही करने के लिए छोड़ दिया है। तो, ऐसे ही। और अनुसंधान में बनाया गया है मैट्रिक्स गुणा, वर्णक्रमीय अपघटन, विकर्णन, बहुत सारी बातें। आप उच्च आयामी चाहते हैं सरणियों, इसलिए 3, 4, 5, या आपको लगता है कि जो कुछ भी आयाम कर सकते हैं। वाक्य रचना सरणी मंद सी के बराबर होती है, तो आयामों की सूची। 4 आयामी सरणी चाहते हैं तो आयामों 4, 7, 8, 9 के साथ, सरणी, मंद सी (4,7,8,9) के बराबर होती है। आप कोष्ठक के साथ एकल मूल्यों का उपयोग पहली प्रविष्टि अल्पविराम दूसरी प्रविष्टि। आप पूरे स्लाइस प्राप्त कर सकते हैं पंक्तियों या स्तंभों की। इस अधूरा वाक्य रचना के साथ यह है बस संख्या अल्पविराम या अल्पविराम स्तंभ पंक्ति नंबर। तो सूचियों जुड़े सरणी की तरह कर रहे हैं। वे यहां अपने स्वयं वाक्य रचना है। फिर पागलपन नहीं है यह सब नीचे की नकल। यह सिर्फ इतना है कि लोग बाद में स्लाइड के माध्यम से जा रहा सभी एक अच्छा संदर्भ में यह है। और यह बहुत ही स्वाभाविक एक बार बन जाएगा मैं वास्तव में डेमो के माध्यम से चलते हैं। तो एक मूल रूप से जुड़े सरणियों सूचीबद्ध करता है। आप के साथ मूल्यों का उपयोग कर सकते हैं सूची का नाम, डॉलर के हस्ताक्षर, कुंजी। अपनी सूची foo के नाम पर है तो, अगर तो आप उस तरह उपयोग कर सकते हैं। आप एक पूरे कुंजी मूल्य जोड़ी मिल सकता है वर्ग कोष्ठक सूचकांक में से गुजर रहा। आप एक अस्तित्वहीन से पढ़ा है कुंजी, आप अशक्त मिलेगा। यह त्रुटि नहीं होंगे। बात यह है कि आर के रूप में करना होगा, है यह कर सकते हैं के रूप में नल के साथ ज्यादा। और यह आप कर रहे हैं कि इसका मतलब यह कर सकते हैं अशक्त बाहर निकलने की उम्मीद नहीं कुछ सूची पढ़ने के लिए, आप कुछ मिल जाएगा आगे नीचे अप्रत्याशित त्रुटियों रेखा। यह मेरे साथ हुआ मेरी गर्मियों में नौकरी जब मैं आर उपयोग कर रहा था मैं कैसे एक निश्चित बदल जहां सूची एक स्थान में परिभाषित किया गया था लेकिन बाद में परिवर्तन नहीं किया इसमें से मूल्यों को पढ़ने कि कोड। और तो क्या हुआ मैं था इस सूची से बाहर अशक्त मूल्यों को पढ़ने, कार्यों में उन्हें गुजर रहा है, और बहुत भ्रमित किया जा रहा मैं के सभी प्रकार मिल गया जब यादृच्छिक infinities सामने आते इस समारोह में। आप निश्चित अधिकतम लागू क्योंकि अगर या कम से कम कार्यों अशक्त करने के लिए, आप अनंत मूल्यों बाहर निकलना होगा। डेटा फ्रेम, वे सूची का एक उपवर्ग कर रहे हैं। हर मूल्य एक वेक्टर है एक ही लंबाई की। और वे पेश करने के लिए इस्तेमाल कर रहे हैं, असल में, डेटा तालिकाओं। इस आरंभीकरण वाक्य रचना नहीं है। यह सब, फिर से, ज्यादा हो जाएगा स्पष्ट आप प्रदर्शन करने के लिए मिलता है। और अच्छी बात के बारे में डेटा फ्रेम आप यह है कि सभी स्तंभों को नाम दे सकते हैं और सभी पंक्तियों के लिए नाम। और तो उस तक पहुँचने के लिए बनाता है उन्हें थोड़ा friendlier। इसके अलावा यह कैसे सबसे कार्यों है कि एक्सेल स्प्रेडशीट से डेटा में पढ़ या पाठ फ़ाइलों से, उदाहरण के लिए, अपने डेटा में पढ़ा होगा। वे में डाल देंगे डेटा फ्रेम में किसी प्रकार का। कार्यों functions-- तो वाक्य रचना एक अजीब सा है। इसे फिर से समारोह का नाम है, तो, इस कीवर्ड समारोह आवंटित करने और तर्कों की सूची। कुछ अच्छी बातें कर रहे हैं तो के बारे में कैसे कार्यों यहां काम करते हैं। एक के लिए, आप वास्तव में असाइन कर सकते हैं कुछ तर्क को मूलभूत मूल्यों। तो आप R1 कह सकते हैं बराबर होती आप foo कह सकते हैं R1 कुछ के बराबर होती है, जहां एक समारोह है उपयोगकर्ता निर्दिष्ट करता है, तो डिफ़ॉल्ट रूप से कोई बहस नहीं। अन्यथा, यह वह में डाल दिया है, जो कुछ भी है। और यह बहुत आसान है क्योंकि हमारे कार्यों का एक बहुत अक्सर दर्जनों या तर्क के सैकड़ों। साजिश रचने के लिए उदाहरण के लिए लोगों को रेखांकन या साजिश रचने के बिखराव भूखंडों कि नियंत्रण तर्क है शीर्षक और अक्ष से सब कुछ प्रतिगमन लाइनों के रंग के लेबल। और अगर ऐसा है तो आप नहीं करना चाहते हैं लोगों को निर्दिष्ट करने के लिए इनमें से हर एक एक तर्क के सैकड़ों के हर एक पहलू को नियंत्रित एक भूखंड या एक प्रतिगमन या जो कुछ भी, यह इन मूलभूत मूल्यों के लिए अच्छा है। और फिर आप वास्तव में कर सकते हैं आप यहाँ वापस देखा के रूप में लिखें। या एक बेहतर उदाहरण है लगता है। आप कार्य कॉल जब आप वास्तव में कर सकते हैं तर्क के नाम का प्रयोग कर उन्हें कहते हैं। तो यहाँ का एक उदाहरण है मैट्रिक्स निर्माता। यह तीन तर्क लेता है। आम तौर पर आप डेटा है, जो एक वेक्टर है। आप एन पंक्ति है, जो पंक्तियों की संख्या है। आप एन स्तंभों की संख्या cols-- है। अगर आप टाइप बात है एन पंक्ति के बराबर होती है जो कुछ भी और एन कर्नल जो कुछ भी जब बराबर होती है यदि आप इस समारोह बुला रहे हैं आप वास्तव में उन्हें पलट सकता है। तो आप पहली और एन पंक्ति एन कर्नल डाल सकते हैं दूसरी और यह कोई फर्क पड़ेगा। तो यह है कि एक अच्छा सा सुविधा है। आयात और निर्यात किया था। यह मूल रूप से किया जा सकता है। लिखने के लिए बाहर की सुविधाएं भी हैं मनमाने ढंग से आर एक बाइनरी फ़ाइल को आपत्ति और फिर वापस बाद में उन्हें पढ़ा है। आप क्या कर रहे हैं जो काम है एक बड़ा इंटरैक्टिव सत्र आर और आप को बचाने की जरूरत बातें बहुत जल्दी। डिफ़ॉल्ट रूप से आर काम कर रहे एक निर्देशिका है फाइलों में बाहर लिखा मिलता है कि और से पीठ में पढ़ा। आप के साथ देख सकते हैं कि getwg, setdw के साथ बदल जाते हैं। यहां विशेष रूप से दिलचस्प कुछ भी नहीं तो अब वास्तविक आँकड़े multilinear प्रतिगमन stuff--। सामान्य वाक्य रचना तो थोड़ा जटिल है। मॉडल मूल रूप से एक बड़ी वस्तु है। यह, एल एम को सौंपा जाता है जो एक समारोह फोन है। पहला तत्व है, y टिल्ड X1 प्लस जो भी हो। मेरे वाक्य रचना यहाँ थोड़ा भ्रमित है। मैं, यह काफी माफी चाहता हूँ मानक तरीका है कि कंप्यूटर विज्ञान की पुस्तकों यह करते हैं। लेकिन यह थोड़ा अजीब है। तो बुनियादी तौर पर, यह एलएम है कोष्ठक, पहला आइटम क्षमा करें variable-- है, निर्भर चर टिल्ड X1 प्लस X2 प्लस स्वतंत्र हालांकि कई चर तुम्हारे पास है। और फिर इन या तो किया जा सकता है वैक्टर, सभी एक ही लंबाई। या फिर वे स्तंभ हो सकता है एक डेटा फ्रेम में हेडर आप बस में निर्दिष्ट है कि दूसरा तर्क डेटा फ्रेम। आप यह भी निर्दिष्ट कर सकते हैं एक अधिक जटिल सूत्र इसलिए आप रैखिक की जरूरत नहीं है एक एक आश्रित चर निकासी, या एक पूर्व मौजूदा वेक्टर पर एक सदिश। आप उदाहरण के लिए, कर सकते हैं, एक वेक्टर घटक y चुकता प्लस 1 और के खिलाफ है कि निकासी कुछ अन्य वेक्टर के लॉग इन करें। आप का सारांश प्रिंट कर सकते हैं कहा जाता है इस आदेश के साथ मॉडल summary-- सिर्फ सारांश मॉडल parens। फिर मैं स्पष्ट करना चाहिए कुछ और। सही पाने होगा कि कुछ और स्लाइड इंटरनेट पर ऊपर जाना है। तुम सिर्फ गणना करना चाहते हैं एक सरल सहसंबंध आप सहसंबंध वेक्टर उपयोग कर सकते हैं 1 वेक्टर 2 समारोह कोर। विधि डिफ़ॉल्ट रूप से है पियर्सन सहसंबंध। उन आप क्या कर सकते हैं मानक होते हैं। वहाँ भी स्पीयरमैन और Kendell सहसंबंध जिनमें से कुछ किस्म के हैं रैंक आदेश सहसंबंध। वैसे वे उत्पाद की गणना नहीं करते वैक्टर खुद के बीच पल, लेकिन वेक्टर के रैंक के आदेश की। मुझे लगता है कि बाद में समझाता हूँ। दर्शकों: त्वरित सवाल CONNER हैरिस: ज़रूर। दर्शकों: तो आप गणना कर रहे हैं जब सरल सहसंबंध करना के लिए आप एक सांख्यिकीय है कि वहाँ ग्रहण सह-संबंध को महत्व? CONNER हैरिस: आप की जरूरत नहीं है। एक एल एम मूल रूप से सिर्फ एक मशीन है। यह दो बातों में ले जाएगा और उसे थूक होगा सबसे अच्छा फिट लाइन के लिए गुणांकों। यह भी मानक रिपोर्ट उन गुणांकों पर त्रुटियों। है और ऐसा, आपको बता देगा सांख्यिकीय रूप से महत्वपूर्ण अवरोधन या 0 से अंतर। सबसे अच्छा की ढलान है फिट लाइन को सांख्यिकीय शून्य से अलग, वगैरह। यह कुछ भी नहीं मानता है तो, मुझे लगता है कि अपने प्रश्न का सबसे अच्छा जवाब है। ठीक है। Plotting-- इसलिए मुख्य कारण तुम चाहिए multilinear प्रतिगमन तरह, आर का उपयोग करें। मूल रूप से हर भाषा उस के लिए कुछ सुविधा है। और के लिए ईमानदारी से आर वाक्य रचना प्रतिगमन एक सा रहस्यमय है। यह वास्तव में चमकता है लेकिन जहां साजिश रचने है। workhorse के समारोह साजिश है और यह दो वैक्टर, एक्स और वाई लेता है। और फिर ellipses एक बहुत के लिए खड़ा है वैकल्पिक तर्क की बड़ी संख्या है कि खिताब से रंग करने के लिए सब कुछ नियंत्रण विभिन्न लाइनों या विभिन्न बिंदुओं की, साजिश के प्रकार के। तितर बितर हो सकता है भूखंड या लाइन भूखंडों। [अश्राव्य] 2 वैक्टर एक ही लंबाई की। आप इस देते करने के साथ आरंभ कर सकते हैं अपनी स्क्रिप्ट में डेटा फ्रेम। और यह तुम्हारे बस स्तंभ का उपयोग करने देगा बजाय अलग वैक्टर के हेडर। आप सबसे अच्छा फिट लाइनों और स्थानीय जोड़ सकते हैं अपने ग्राफ के लिए प्रतिगमन घटता। इन आदेशों सूचीबद्ध यहाँ, एबी लाइन और लाइनों, डिफ़ॉल्ट रूप से इन मिलता है पॉप अप विंडो में लिखा यह मानता है कि क्योंकि आप अंतःक्रियात्मक आर का उपयोग कर रहे हैं। अगर तुम नहीं हो आप कर सकते हैं दो फाइल लिखने कि आप चाहें तो वास्तव में किसी भी प्रारूप में हैं। क्षमा करें, मैं मैं बस एहसास एक टाइपो है। आप खोलना चाहते हैं एक और ग्राफिकल उपकरण आप PNG या नामक इस समारोह का उपयोग कर सकते हैं जेपीईजी या अन्य छवि प्रारूपों के एक बहुत। और आप के लिए रेखांकन लिख सकते हैं जो कुछ भी फ़ाइल नाम आपके द्वारा निर्दिष्ट। आप use-- के लिए है कि रद्द करने के लिए मैं slide-- में यह नहीं लिखा था लेकिन एक समारोह में कहा जाता देव वहाँ कि बंद डॉट कोई बहस नहीं लेता है। तब सुविधाएं हैं 3 डी की साजिश रचने के लिए और समोच्च के लिए साजिश रचने आप बनाना चाहते हैं दो स्वतंत्र चर का रेखांकन। मैं अभी इन में नहीं मिलेगा। यह भी कुछ कर रहे हैं एनीमेशन के लिए सुविधाएं उन आम तौर पर कर रहे हैं तीसरे पक्ष द्वारा बनाए रखा। मैं, आर रेखांकन के साथ एनिमेशन किया है लेकिन मैं इन तीसरे पक्ष के इस्तेमाल नहीं किया है पुस्तकालयों। इसलिए मैं वास्तव में attest नहीं कर सकते करने के लिए कैसे अच्छा वे कर रहे हैं। क्या आप चाहते हैं, तो मैं सुझा आर का उपयोग एनिमेशन बनाने के लिए आप सभी को बाहर लिख सकते है एनिमेशन के लिए फ्रेम और फिर आप एक का उपयोग कर सकते हैं तीसरे पक्ष program-- विशिष्ट लोगों FFmpeg कहा जाता है या ImageMagick-- सिलाई के लिए एक एनीमेशन में अपने फ्रेम के सभी। डेमो के लिए समय तो। आप सिस्टम की तरह किसी भी यूनिक्स उपयोग कर रहे हैं तो जो लिनक्स बीएसडी है लेकिन जो बीएसडी उपयोग करता है। ओएस एक्स टर्मिनल विंडो खोलने और कमांड प्रॉम्प्ट पर आर लिखें। आप आर स्टूडियो है, तो या यह भी काम करता है, जैसे। विंडोज उपयोगकर्ताओं के लिए आप होना चाहिए अपने प्रारंभ मेनू में आर खोजने के लिए सक्षम। यह कुछ कहा जाना चाहिए आर x 64 की तरह 3 बिंदु जो भी हो। वहाँ कि खोलो। तो अब बस मुझे जाने एक टर्मिनल विंडो खोलें। ठीक है, खोज। दर्शकों को आदेश-स्पेस CONNER हैरिस: कमान अंतरिक्ष, धन्यवाद। मैं आमतौर पर एमएसीएस का उपयोग नहीं करते। टर्मिनल, नई विंडो दिखा। नई विंडो सेटिंग है बुनियादी, आर तो तुम मिलना चाहिए एक स्वागत संदेश, कुछ इस तरह। इसलिए मैं अंतःक्रियात्मक आर उपयोग कर रहा हूँ। आप यह भी निश्चित रूप से आर स्क्रिप्ट लिख सकते हैं। असल स्क्रिप्ट चलाने ठीक उसी तरह जैसे आप कंप्यूटर पर बैठे थे, तो एक समय में हर एक पंक्ति में टाइपिंग। तो चलो एक वेक्टर बनाकर शुरू करते हैं। एक तीर सी 1, 2। 1, 2, 4। यकीनन ठीक। मैं फ़ॉन्ट आकार बड़ा कर सकते हैं। दर्शकों को आदेश-प्लस CONNER हैरिस: कमान प्लस। कमान-प्लस। ठीक है, कि कैसे है? अच्छा? ठीक है। तो चलो द्वारा शुरू करते हैं एक वेक्टर सूची की घोषणा। एक, तीर, सी 1,2,4 करो। हम एक देख सकते हैं। वहाँ ब्रैकेट के बारे में चिंता मत करो। तुम बाहर प्रिंट यदि कोष्ठक ऐसा कर रहे हैं बहुत लंबे सरणियों, हम आप कर रहे हैं कर सकते हैं। एक उदाहरण हो सकता है अगर मैं सिर्फ 200 के लिए सीमा 2 चाहते हैं। मैं एक बहुत ही मुद्रित हैं लंबे समय सरणी, कोष्ठक अभी तो मैं रख सकते हैं कर रहे हैं ट्रैक जो सूचकांक की मैं देख रहा हूँ कि अगर हम पर हैं इस नेत्रहीन के माध्यम से। इसलिए किसी भी तरह, हम एक है। इसलिए मुझे लगता है कि सरणियों बातचीत से पहले कहा बहुत अच्छी तरह से साथ, उदाहरण के लिए, इस तरह एकल संचालन। तो तुम मैं हूँ क्या सोचते हैं मैं एक प्लस 1 टाइप अगर मिलता है? हाँ। ठीक है, अब मैं कर दूँगा यह अलग सरणी। के बी सी 20,40, 80 कहते हैं। तो आप क्या सोचते हैं इस आदेश का क्या करेंगे? तत्वों को जोड़ें। और तो मूल रूप से है कि यह क्या करता है। तो यह बहुत सुविधाजनक है। इसलिए मुझे लगता है मैं यह कैसे करते। सी है, के लिए 10, 6 बार 1 कहते हैं। तो क्या मैं देखना चाहते हैं निहित, तुम्हें क्या लगता है? छह में से तो सभी गुणकों। अब तुम्हारा क्या विचार है अगर मैं यह नहीं होगा? मैं इस एक सा साफ, सी, सी कर दूँगा। तो क्या होता है, आप ऐसा करेंगे अगर मैं यह नहीं, लगता है? एक प्लस सी। [अश्राव्य] दर्शकों: एक त्रुटि या यह या तो सिर्फ पहले तीन तत्व कहते हैं। CONNER हैरिस: काफी नहीं। यह हमें क्या मिला है। क्या होता है एक कम है सरणी, एक, साइकिल गया। इसलिए हम 124, 124, 124 मिली। हाँ। और मूल रूप से, आप देख सकते हैं इस व्यवहार से पहले, एक प्लस 1, इस व्यवहार, जहां की एक उपवर्ग के रूप में कम से कम सरणी बस संख्या है 1, एक एक तत्व सरणी है। मैं सिर्फ सभी वेक्टर कह रही हो बजाय सरणी के समय, क्योंकि है कि क्या आर प्रलेखन आमतौर पर होता है। यह एक तरह बैठ सी आदत है। ठीक है, और इसलिए अब हम इस सरणी है। इसलिए हम इस सरणी, सी है। हम सारांश प्राप्त कर सकते हैं ग, सारांश ग पर आँकड़े। और यह अच्छा है। तो अब कुछ मैट्रिक्स बातें करते हैं। एम एक मैट्रिक्स है कहते हैं। के तीन में से एक ने यह एक तीन बनाते हैं। तो nrows 3 के बराबर होती है, और ncols 3 के बराबर होती है। और डेटा के लिए की do-- चलो तो क्या हुआ आप ऐसा करने जा रहा है लगता है? ठीक है, यह अगले एक है। यह Nrow और ncolumn है। तो मैं क्या मैंने किया है है एक तीन से तीन मैट्रिक्स घोषित और मैं एक नौ तत्व सरणी में पारित कर दिया है। सभी के लघुगणक तो तत्वों नौ के माध्यम से एक। और यह सब उन मूल्यों को भरने array-- खेद ऊपर? दर्शकों: 10 आधार लॉग को उन रहे हैं? CONNER हैरिस: नहीं, लॉग है प्राकृतिक लघुगणक, तो आधार ई। हाँ, अगर तुम चाहते थे आधार 10 लॉग, मैं आप के लिए होगा लगता है लॉग 10 से विभाजित, जो कुछ भी लॉग ऑन करें। और [अश्राव्य] बस के इतने डेटा नीचे करने के लिए सरणी, इसलिए शीर्ष भरता फिर सही करने के लिए छोड़ दिया है। और अगर आप कुछ अन्य करना चाहते थे सरणी, के एन मैट्रिक्स है कहते हैं। मैं करने के लिए 13, 2 में पता नहीं है, चलो करते हैं। या मैं और अधिक दिलचस्प कुछ करना होगा। मैं 2-4 कर देंगे। Nrow, चलो, 3 हम कहते हैं कि बराबर होती है। ncol 4 के बराबर होती है। एन। इसलिए हम इस मिल गया है। और अब हम इन गुणा करना चाहते हैं, हम, एन प्रतिशत गुना प्रतिशत करना होगा कि n है, क्योंकि। और हम मैट्रिक्स उत्पादों है। वे वैसे, आप कैसे देखा था मैं n जब घोषित, 2-4 वेक्टर तक साइकिल गया यह n के सभी भरा? आप ले जाना चाहते थे, तो eigenvalue अपघटन, यह है कि हम बहुत आसानी से कर सकते है। हम आईगन एन कर सकते हैं। और इसलिए यह हमारा पहला है एक सूची के साथ मुठभेड़। तो आईगन N दो कुंजी के साथ एक सूची है। यहाँ इस सरणी है जो मान,। और वैक्टर, यहां इस सरणी है। तो आप को निकालने के लिए चाहते थे, कहते हैं, इस तीसरे स्तंभ eigenvectors मैट्रिक्स से, क्योंकि eigenvectors स्तंभ वैक्टर हैं। इसलिए हम ग्राम शिक्षा समिति के आईगन एन डॉलर के हस्ताक्षर कर सकते हैं वैक्टर, अल्पविराम 3, [सुनाई]। ग्राम शिक्षा समिति। आप उम्मीद कर सकते हैं, कि है। फिर कहते हैं n बार प्रतिशत बार ग्राम शिक्षा समिति। तो नतीजा यहां निश्चित रूप से की तरह दिखता है हम यहाँ तीसरे eigenvalue ले लिया है, जिसके साथ मेल खाती है तीसरे आइजन्वेक्टर। यह बस में सब कुछ गुणा इस आइजन्वेक्टर, घटक के लिहाज से, eigenvalue द्वारा। हम उम्मीद करते हैं कि क्या होगा और वह है कि eigenvalues ​​क्या कर रहे हैं क्योंकि। यहां किसी ने नहीं रेखीय बीजगणित लिया? एक दो लोग, ठीक है। बस थोड़ा के लिए अपने दिमाग बंद कर देते हैं। और हम आईगन एन लेने के लिए यदि वास्तव में 3 बार ग्राम शिक्षा समिति डॉलर के हस्ताक्षर मूल्यों, अच्छी तरह से एक ही बात हो। यह एक पंक्ति के रूप में अलग ढंग से प्रारूपित है बजाय एक स्तंभ वेक्टर वेक्टर, लेकिन बड़ी बात नहीं। और इसलिए उन मूल रूप से अच्छे हैं हम matrices के साथ क्या कर सकते हैं कि चीजों को, प्रदर्शन सूचियों। मैं अच्छा प्रदर्शन करना चाहिए के रूप में अच्छी तरह से कार्यों के बारे में बातें। तो चलो say-- जाने [सुनाई] समारोह, चलो कॉल एन चुकता समारोह के खिलाफ समारोह में यह वास्तव में, यह वास्तव में सबसे अच्छा नहीं है। ए, बी, एक चुकता प्लस बी। तो एक बात के बारे में काम करता है, फिर, वे है स्पष्ट वापसी बयान की जरूरत नहीं है। तो अगर आप just-- कर सकते हैं मूल्यांकित पिछले बयान लौट के बयान हो जाएगा, या मान दिया। तो इस मामले में, हम केवल मूल्यांकन कर रहे हैं एक बयान, एक चुकता प्लस बी। यही कारण है कि डिफ़ॉल्ट वापसी मान हो जाएगा। इसे में डाल कभी दर्द होता है स्पष्ट मान आप एक साथ काम कर रहे हैं, खासकर यदि बहुत जटिल तर्क के समारोह प्रवाह। लेकिन अगर आप उन्हें जरूरत नहीं है। तो अब हम समारोह 5, 1 करते हैं, और कर सकते हैं यह आप क्या उम्मीद थी मूल रूप से है। हम क्या कर सकते हैं कुछ और, हम वास्तव में समारोह ख कर सकते हैं 1 के बराबर होती है, एक 5 के बराबर होती है। हम यहाँ जो संख्या निर्दिष्ट तो, अगर जो तर्क जो तर्क को जाता है समारोह में, हम चारों ओर फ्लिप कर सकते हैं इन मूल्यों को जहां भी हम चाहते हैं। दर्शकों: वहाँ एक कारण है ख के साथ यह लिखने के लिए बाहर बस का उपयोग करने के लिए विरोध के रूप में बराबर होती है संख्या और अल्पविराम? CONNER हैरिस: हाँ, आमतौर पर आप कार्य किया है तो ऐसा बहस का एक बहुत कुछ के साथ। यही कारण है कि अक्सर की तरह हो सकता है झंडे कि आप केवल चाहते हैं दुर्लभ अवसरों में उपयोग करना चाहते हैं। और इस तरह से आप only-- कर सकते हैं विशिष्ट तर्कों का उल्लेख कर सकते आप उपयोग करना चाहते हैं गैर मूलभूत मूल्यों के लिए और आप एक बाहर लिखने की जरूरत नहीं है झंडे का गुच्छा के बाद उन्हें झूठी बराबर होती है। या मैं के साथ फिर से यह लिख सकते हैं ख की तरह एक डिफ़ॉल्ट मान 2 के बराबर होती है। और फिर मैं च समारोह कर सकता है, मैं 4, 1 इस बार भी ऐसा करेंगे। जो 4 है और 17, चुकता प्लस 1, आप उम्मीद कर सकते हैं। लेकिन मैं यह भी सकता है बस समारोह 4 के साथ इस फोन, और मुझे लगता है, क्योंकि 18 मिलेगा मैं ख निर्दिष्ट नहीं करते। तो बी 2 का डिफ़ॉल्ट मान हो जाता है। ठीक है, तो अब आप कर रहे हैं डेमो के साथ पालन, अपने आदेश में इस पंक्ति टाइप शीघ्र और देखो क्या हो। वास्तव में, ऐसा नहीं करते। इस प्रकार के। आप इस तरह कुछ मिलना चाहिए। Mtcars तो एक डेटा में बनाया गया है इस प्रदर्शन के लिए सेट आता है कि with-- आता है कि उद्देश्यों अपने अनुसंधान के वितरण के साथ डिफ़ॉल्ट रूप से में। इस के आंकड़ों का संकलन है मोटर रुझान पत्रिका के 1974 मुद्दा विभिन्न कार मॉडलों में से एक नंबर पर। तो गैलन प्रति मील की दूरी पर है, वहाँ cylinders-- मैं क्या disp है- हॉर्स पावर भूल जाते हैं। शायद। आप सिर्फ गूगल मीट्रिक टन कारों के हैं, पहला परिणाम की तो एक से होगा अधिकारी आर के दस्तावेज़ और यह समझा जाएगा इन सभी डेटा फ़ील्ड्स। इसलिए वजन है गुम्मट है- टन में कार का वजन। क्यू सेकंड चौथाई मील का समय है। तो अब हम कुछ मजेदार बातें कर सकते हैं मीट्रिक टन कारों के बारे में डेटा फ़ील्ड है। इसलिए हम बातें कर सकते हैं पंक्ति के नाम, मीट्रिक टन कारों की तरह। और यह सब पंक्तियों की एक सूची में है कारों के नाम हैं जो डेटा सेट। हम colnames, मीट्रिक टन कारों के कर सकते हैं। आप मीट्रिक टन की कारों करते हैं, 2 की तरह उप संख्यात्मक सूचकांक,। हम से बाहर दूसरे स्तंभ मिलता है इस सिलेंडरों होगा। दर्शकों: तुमने क्या किया? CONNER हैरिस: मैं टाइप मीट्रिक टन कारों, कोष्ठक ई, जो मुझे दूसरी दिया मीट्रिक टन कारों के बाहर स्तंभ। हम एक पंक्ति चाहते हैं, तो मैं टाइप कर सकते हैं mtcars उदाहरण के लिए, 2 अल्पविराम। उस जैसे अन्य दौर 2 अल्पविराम,। और कहा कि अपनी पंक्ति में चला जाता है। यह यहां सिर्फ तुम देता है एक वेक्टर के रूप में स्तंभ, लेकिन स्तंभ। मैं तो बस अब मुझे एहसास हुआ कि मैं प्रदर्शित करने के लिए भूल गया वैक्टर के बारे में कुछ ठंडी चीजें आप सूचकांक के साथ ऐसा कर सकते हैं। तो मुझे अब ठीक वैसा ही करेगा। तो चलो ग gets-- डाल करते हैं 1 से 10 pause-- 2 बार इस पर। इतनी सी बस होने जा रहा है 20 के माध्यम से वेक्टर 2। मैं C2, इस तरह के तत्वों ले जा सकते हैं। मैं एक सदिश में पारित कर सकते हैं इस तरह, मुझे जाने c-- ग्राम शिक्षा समिति के सी की तरह, ग से अलग नाम का उपयोग करें। असल में, मैं क्या कर रहा हूँ यह तो तुम नहीं मिलता एक के रूप में सी के बीच उलझन में वेक्टर निर्माण कार्य, और फिर एक चर नाम के रूप में सी। ग्राम शिक्षा समिति के कोष्ठक ग 4, 5, 7। यह, पांचवें, चौथे बाहर मुझे मिल जाएगा और सरणी के सात तत्वों। मैं एक नकारात्मक में डाल दिया, ग्राम शिक्षा समिति क्या कर सकते हैं नकारात्मक 4 की तरह सूचकांक,। यही कारण है कि इस मुझे बाहर निकलना होगा चौथे तत्व हटा दिया। तब मैं स्लाइस करना चाहते थे, मैं 6 के माध्यम से ग्राम शिक्षा समिति के 2 कर सकते हैं। 2 पेट के 6 सिर्फ एक है 2 है जो वेक्टर, 3, 4, 5, 6। कि बाहर spits। इसलिए, किसी भी तरह वापस मीट्रिक टन कारों के लिए। तो चलो कुछ प्रतिगमन करते हैं। के मॉडल चलो gets-- हम कहते हैं रैखिक मैं नहीं जानता कि regress--। पहले हम निश्चित रूप से, mtcars देते हैं करते हैं। तो [सुनाई] मॉडल एल एम, चलो निकासी जाने टिल्ड वजन पर गैलन प्रति मील की दूरी पर। और फिर डेटा फ्रेम mtcars है। तो सारांश मॉडल। ठीक है, तो यह एक जटिल सा लग रहा है। लेकिन असल में, देखने के रूप में अगर हम गैलन प्रति मील की दूरी को व्यक्त करने की कोशिश वजन का एक रेखीय समारोह के रूप में, फिर हम यहां इस लाइन मिल गया है, 37.28 पर जो अवरोध। 37.28 सैद्धांतिक मील की दूरी पर होगा शून्य वजन का होता है कि एक कार के प्रति गैलन। और फिर हर अतिरिक्त टन के लिए, आप गैलन प्रति के बारे में पाँच मील की दूरी पर दस्तक उस से दूर। इन गुणांकों के दोनों तुम वहाँ, मानक त्रुटियों देख सकते हैं। और वे बहुत हैं सांख्यिकीय महत्वपूर्ण। तो हम करने के लिए बहुत कुछ किया जा सकता नकारात्मक करने के लिए 10 एक ई 10। नकारात्मक करने के लिए तो एक बार कुछ 10, आप एक भारी कार बनाने कि अगर, यह गैलन प्रति बदतर मील की दूरी पर होगा। या फिर हम कुछ अन्य मॉडल का परीक्षण कर सकते हैं। के बजाय तरह वजन पर इस regressing, , के वजन के प्रवेश पर यह निकासी जाने शायद प्रभावी वजन क्योंकि लाभ पर किसी भी तरह रैखिक नहीं है। यह हमें .7528 की चुकता एक अनुसंधान दे दी है। तो चलो इस कोशिश करते हैं। इस बार का एक ऐसा ही करे अलग भी चर,। Model2। तो सारांश, model2। ठीक है, तो फिर, हम हमारे यहाँ सबसे अच्छा फिट लाइन मिला है। और इस time-- यह कह रही है, मूल रूप से यह है कि हर बार जब आप के वजन में वृद्धि ई का एक पहलू से एक कार आप गैलन प्रति यह कई मील खो देते हैं। और इसलिए इस समय हमारे अवशिष्ट मानक वास्तव में, कोई फर्क नहीं पड़ता कि it-- त्रुटि। अवशिष्ट मानक त्रुटि है मूल रूप से सिर्फ मानक त्रुटि क्या आप के बाद छोड़ दिया है कि प्रवृत्ति रेखा से दूर ले। और यहाँ चुकता हमारे अनुसंधान, 0.81 है की तुलना में थोड़ा बेहतर है, जो क्या हम, 0.52 से पहले था। और इसलिए अब हम एक जोड़ दें इस प्रतिगमन करने के लिए शब्द। तो चलो गैलन प्रति मील की दूरी पर लौटना जाने दोनों वजन के प्रवेश पर और, चलो, ऐसा क्यू मील की दूरी पर है, चलो चौथाई मील का समय है। ठीक है, यह the-- सब ठीक है, qsec होनी चाहिए। Qsec। Actually-- क्षमा करें, क्या? मुझे यह कुछ कहते हैं बाकी model2 के अलावा। मुझे इस model3 कहते हैं। और इसलिए अब हम सारांश model3 कर सकते हैं। और तो फिर, यह मूल रूप से है आप क्या उम्मीद कर सकते। आप सकारात्मक अवरोधन है। बढ़ती जा रही प्रभावी वजन नकारात्मक है। और प्रभावी बढ़ती हुई तिमाही मील समय सकारात्मक है, लेकिन यद्यपि वजन से इतनी कम है। अब intuitively, आप की भावना कर सकते इस खेल कारों के बारे में सोचना कह कर। एक बहुत तेजी से त्वरण है, एक बहुत ही कम चौथाई मील बार। उन्होंने यह भी अधिक गैस का उपयोग करने के लिए जा रहे हैं अधिक समझदार कारों के लिए जा रहे हैं, जबकि धीमी त्वरण के लिए है, उच्च चौथाई मील बार, और इसलिए ,, कम गैस का उपयोग गैलन प्रति अधिक मील की दूरी पर। अच्छा है। और अब तो यह करने के लिए समय आ गया है कुछ इस तरह की साजिश है। तो चलो तो नंगे do-- जाने हड्डियों हम plots-- क्या कर सकते हैं मैं इस डेटा फ्रेम संलग्न है क्योंकि before-- हम सिर्फ भूखंडों, गुम्मट एमपीजी कर सकते हैं। यह थोड़ा बड़ा बना। वहाँ, हम मूल रूप से एक तितर बितर साजिश है, लेकिन अंक इस पर यह देखने के लिए एक तरह से मेहनत कर रहे हैं। मैं बेतकल्लुफ़ याद नहीं है क्या वाक्य रचना की साजिश को बदलने के लिए है। इसलिए मुझे लगता है कि यह हो जाएगा लगता है एक अच्छा समय है, ऊपर लाने के लिए एक बहुत अच्छा builtin मदद नहीं है सुविधा, मदद के उद्धरण नाम कार्य करते हैं। हम मूल रूप से ऊपर लाने के लिए करेंगे आप चाहें कुछ भी। मैं वास्तव में इस करूँगा लगता है प्रकार अंक भूखंडों के लिए पी के बराबर होती है। कुछ भी है कि बदल दिया? और नहीं, वास्तव में नहीं है। ठीक है। किसी कारण से, मैं इस किया था जब के लिए एक समय पहले अपने कंप्यूटर पर, सभी बिखराव अंक बहुत स्पष्ट थे। किसी भी तरह, दृश्यमान का बिखराव तरह कर रहे हैं? वहाँ एक है। वहाँ एक कुछ, वहाँ कुछ। आप की तरह सही, उन्हें देख सकते हैं? तो हम एक सबसे अच्छा फिट लाइन जोड़ना चाहते हैं एक सा नंगे है जो यहाँ इस साजिश, करने के लिए bones-- मुझे यह एक सा अच्छे बनाते हैं। मुख्य वजन बनाम बराबर होती है। मील प्रति गैलन। फिर, तुम कैसे उपयोगी देख सकते हैं वैकल्पिक तर्क भी साथ यहाँ हैं एक में बातें करना नहीं होने कीबोर्ड तर्क के साथ निश्चित क्रम आप भूखंडों, क्योंकि जब आपके पास इन तर्कों का एक बहुत ले। Xlab वजन, वजन, टन के बराबर होती है। ठीक है। ठीक है, हाँ, इस डिवाइस थोड़ा परेशान किया जा रहा है। लेकिन आप की तरह वहाँ ऊपर देख सकते हैं पक्ष पर एक ग्राफ शीर्षक नहीं है। यहां there's-- तल पर ओवर यहां अक्ष लेबल देखते हैं। मैं बेतकल्लुफ़ याद नहीं है क्या आदेशों ars-- कार्य को बढ़ाने के लिए क्या कर रहे हैं उन लेबल और खिताब के आकार, लेकिन वे वहाँ हैं। और इसलिए हम करना चाहते हैं सबसे अच्छा फिट लाइन जोड़ने के लिए, हम मैं like-- कुछ कर सकता है है वाक्य रचना यहां तक ​​लिखा है। तो हम बस मॉडल जोड़ने याद एमपीजी, वजन, mtcars था। यदि ऐसा है तो फिर मैं ने एक सबसे अच्छा फिट जोड़ना चाहते थे लाइन, मैं ए, बी लाइन मॉडल कर सकता है। और बूम, हम एक सबसे अच्छा फिट लाइन है। यह फिर से देखने के लिए मुश्किल की तरह है। के बारे में मैं काफी माफी चाहता हूँ तकनीकी कठिनाइयों। लेकिन यह मूल रूप से चलाता है ऊपर से नीचे सही करने के लिए छोड़ दिया है। और बड़े पैमाने थे बड़ा है, आप देख सकते हैं अवरोधन है कि क्या आप कर सकते हैं सारांश आँकड़ों से मिल आप सारांश मॉडल प्रकार हैं। ठीक है, तो मैं सब हो जाता है उम्मीद की भावना से कुछ क्या आर इसके लिए क्या अच्छा है, है। आप की तुलना में कहीं अच्छे भूखंडों बना सकता है अपने समय पर यह, अगर आप की तरह। विदेशी समारोह इंटरफ़ेस तो। यह आमतौर पर नहीं है कि कुछ है परिचयात्मक व्याख्यान में कवर अनुसंधान के लिए या परिचयात्मक कुछ भी। यह आप इसे जरूरत जा रहे हैं संभावना नहीं है। हालांकि, मैं इसे उपयोगी पाया अतीत में मेरी अपनी परियोजनाओं। और कोई अच्छा नहीं है, इसके लिए ऑनलाइन ट्यूटोरियल। तो मैं बस करने के लिए जा रहा हूँ इस के माध्यम से आप सब भागते और फिर आप छोड़ने के लिए स्वतंत्र हैं। और इसलिए विदेशी समारोह इंटरफ़ेस क्या है आप देखने के लिए बाहर फोन करने के लिए उपयोग कर सकते हैं एक आर आंतरिक के साथ काम करता है, सी आर के अंकगणित बस है पर आर बनाया गया है सी 64-बिट चल बिन्दु अंकगणितीय, जो डबल [सुनाई] टाइप है। और आप क्या करना चाहते हो सकता है कारणों में से एक गुच्छा के लिए यह। एक के लिए, आर, यह व्याख्या की है नहीं मशीन कोड के लिए नीचे संकलित। तो क्या आप फिर से लिखना कर सकते हैं अपने मिल जाए तो सी में और भीतर छोरों आर की तरह उपयोग करने का लाभ यह थोड़ा और अधिक सुविधाजनक सी से है यह बेहतर रेखांकन है सुविधाओं और whatnot। और अभी भी कर जा रहा है, जबकि पाने के लिए भीतरी छोरों से बाहर शीर्ष गति, जो आप वास्तव में जरूरत है, जहां है। मौजूदा सी पुस्तकालयों पुनर्प्रयोग, कि यह भी महत्वपूर्ण है। आप की तरह के लिए कुछ सी पुस्तकालय है, मैं, फूरियर बदल देती है, पता नहीं या कुछ बहुत ही आर्कियन आँकड़ों प्रक्रिया का इस्तेमाल किया उच्च ऊर्जा कण में या कुछ और, मैं नहीं जानता। उच्च ऊर्जा खगोल भौतिकी यहां तक ​​कि एक सोच भी नहीं है, मुझे लगता है। लेकिन अगर आप के बजाय ऐसा कर सकते हैं उनमें से एक देशी आर बंदरगाह लिखने के लिए। और the-- और फिर, पर अगर आप की तरह आर के डिफ़ॉल्ट पुस्तकालयों में से अधिकांश में लग रही है, आंतरिक पर, आंतरिक हैं विदेशी समारोह का उपयोग करने के लिए जा रहा बहुत बड़े पैमाने पर इंटरफेस। वे फूरियर की तरह बातें करना होगा बदल देती है या सहसंबंध कंप्यूटिंग गुणांकों सी में लिखा, और वे सिर्फ उनके आसपास आर रैपर है। इंटरफेस है एक थोड़ा मुश्किल। मुझे लगता है अपनी कठिनाई एक में अतिशयोक्तिपूर्ण है आप पाएंगे निर्देश के बहुत। लेकिन फिर भी, यह थोड़ा भ्रमित है। और मैं करने में सक्षम नहीं किया गया है इसके लिए एक अच्छा ट्यूटोरियल मिल, तो यह ठीक है अब यह है। फिर, यह पूरे खंड बाद में संदर्भ के लिए अधिक है। नकल के बारे में चिंता मत करो अब ठीक नीचे सब कुछ। निम्नलिखित निर्देश तो यूनिक्स की तरह सिस्टम के लिए कर रहे हैं, लिनक्स, बीएसडी, ओएस एक्स मैं नहीं जानता यह विंडोज पर कैसे काम करता है, लेकिन अभी ऐसा नहीं है तो कृपया अपने विंडोज पर अंतिम परियोजना। तुम सच में नहीं करना चाहते हैं। यूनिक्स ज्यादा बेहतर सेट है आकस्मिक प्रोग्रामिंग के लिए ऊपर। तो, मूल रूप से विदेशी समारोह इंटरफेस। आप एक सी लिखना चाहते हैं आर के साथ उपयोग करने के लिए समारोह, यह सब ले गया है संकेत के रूप में तर्क। तो एकल मूल्यों के लिए, इस यह मूल्य की ओर इशारा किया है इसका मतलब है। सरणियों के लिए, यह एक सूचक है पहला तत्व है, जो सरणी नाम वास्तव में क्या मतलब है। फिर, यह आप होना चाहिए कुछ है सुंदर पूरी तरह से पी पाँच सेट करने के बाद नीचे। ऐरे नाम सिर्फ संकेत दिए गए हैं पहले तत्व के लिए, चल बिन्दु प्रकार डबल है। और अपने कार्य शून्य वापस करने के लिए है। यह कर सकते हैं कि एक ही रास्ता वास्तव में हुआ क्या आर बताओ आर दे दिया है कि स्मृति को संशोधित करने से है यह करने के लिए विदेशी समारोह के माध्यम से इंटरफ़ेस। इसलिए मैं इस लिखा है यहाँ उदाहरण है, यह है उपयोग की गणना करता है कि एक समारोह दो वैक्टर डॉट उत्पाद। यह दो तर्क, vec1, vec2 लेता है जो वैक्टर स्वयं कर रहे हैं, और फिर एन, जो है एक लंबाई, फिर से, क्योंकि आर पता लगाने के लिए [सुनाई] में बनाया गया है वैक्टर की लंबाई, लेकिन सी नहीं करता है। सी में, वैक्टर एक मनमाना है स्मृति की सीमांकित हिस्सा। तो जिस तरह से आप कर सकते हैं डॉट उत्पादों की गणना सिर्फ पैरामीटर यह बाहर सेट है शून्य करने के लिए और उसके बाद के माध्यम से पुनरावृति 1 से क्योंकि, एन स्टार के लिए n लंबाई के लिए एक सूचक है, बस के लिए कुछ जोड़ इस बाहर पैरामीटर। और यह अच्छा अभ्यास किया जा सकता है आप क्या करने जा रहे हैं इस दो अलग-अलग सी कार्यों लिखने के लिए। उनमें से एक है उनमें से एक बस has-- तर्क और प्रकार लेता है वे आमतौर पर सी में होगा कि तो यह एक सरणी लेता है संकेत के रूप में तर्क। लेकिन एन तरह एकल मान तर्क, यह सिर्फ प्रतिलिपि द्वारा मूल्यों के रूप में लेता है संकेत के बिना। और फिर यह नहीं है [अश्राव्य] बाहर सूचक। और फिर तुम हो सकता है एक अलग, मूल रूप से, आवरण समारोह है कि मूल रूप से आवश्यकताओं को हैंडल विदेशी समारोह की आप के लिए इंटरफ़ेस। आप आर में इस फोन तरह से एक बार, है यदि आप अपने समारोह सी में लिखा है आप आर अध्यक्ष तथा प्रबंध निदेशक shlib, आर के प्रकार आदेश साझा पुस्तकालय, foo डॉट सी, या जो कुछ भी आपकी फ़ाइल नाम है, और ओएस आर टर्मिनल में नहीं खोल। और यह एक पैदा करेगा foo बुलाया पुस्तकालय इसलिए डॉट। और फिर आप इसे लोड कर सकते हैं हमारे स्क्रिप्ट या अंतःक्रियात्मक आदेश dyn डॉट भार के साथ। फिर एक समारोह है आर में डॉट सी कहा जाता है। यह हैं कि तर्क लेता है सी में समारोह के पहले नाम आप कॉल करना चाहते हैं। और फिर सभी मापदंडों उस समारोह के लिए, वे उचित क्रम में होना है। आप इन प्रकार का उपयोग करने के लिए है बलात्कार कार्यों पूर्णांक के रूप में, के रूप में डबल, चरित्र, और के रूप में तार्किक रूप में। और फिर यह देता है जब फिर बस है जो सूची है, का एक संबद्ध सरणी पैरामीटर नाम और मूल्यों के बाद समारोह को चलाने की है। डॉट ठेस गया है, क्योंकि इस मामले में तो तर्क एन बाहर, vec2 vec1, और एन int। हम डॉट ठेस है ग डॉट को, समारोह के नाम हम vec1, vec2, प्रकार विवश, बुला रहे हैं। या तो वेक्टर की लंबाई, मैं सिर्फ vec1 मनमाने ढंग से चुना है। यह कहने के लिए और अधिक मजबूत होगा vec1 के पूर्णांक मिनट लंबाई, लंबाई vec2। तो बस डबल शून्य के रूप में, हम वास्तव में नहीं है क्योंकि में चला जाता है क्या परवाह पैरामीटर बाहर हम कर रहे हैं, क्योंकि इसे स्थापित करने के लिए वैसे भी शून्य करने के लिए। और फिर परिणाम एक होने जा रहे हैं मूल रूप से बड़ा जुड़े सरणी vec1, vec2 जो कुछ भी है, जो कुछ भी है। लेकिन हम में रुचि रखते हैं बाहर है, इसलिए हम चाहते हैं कि बाहर निकल सकते हैं। यह फिर से एक बहुत ही खिलौना उदाहरण है एक विदेशी समारोह इंटरफेस की। लेकिन अगर आप डॉट गणना करने के लिए अगर आपके पास छोरों में बड़े पैमाने पर वैक्टर के उत्पादों, या तुम्हें क्या करना है, तो एक पाश में कुछ और, और आप आर पर भरोसा नहीं करना चाहते हैं, जो भूमि के ऊपर का एक सा होता है इसे बनाया, यह उपयोगी हो सकता है। फिर, यह आमतौर पर नहीं है आर के लिए एक परिचयात्मक विषय यह बहुत अच्छी तरह से प्रलेखित नहीं है। मैं सिर्फ इसलिए कि यह सहित हूँ मैं अतीत में यह उपयोगी पाया। तो, बुरा व्यवहार। मैं एक यह है कि वहाँ का उल्लेख समारोह में पाश के लिए। आम तौर पर आप में नहीं करना चाहिए भाषा, इसका इस्तेमाल नहीं। आर चलना लागू करता है के आधार पर कैसे आंतरिक रूप से, यह धीमी गति से किया जा सकता है। वे सिर्फ भी बदसूरत देखो। आर तो, बहुत अच्छी तरह से वैक्टर संभालती बार बार आप इसका इस्तेमाल की जरूरत नहीं है। तो फिर आप आमतौर पर कर सकते हैं अक्सर एक वेक्टर की जगह उच्च बुलाया इन कार्यों के साथ आदेश कार्यों, मानचित्र, कम करें पता लगाएं, या फिल्टर। मैं बस कुछ दे दूँगा क्या इन के उदाहरण हैं। मानचित्र एक उच्च आदेश समारोह क्योंकि है यह एक तर्क के रूप में एक समारोह लेता है। आप इसे एक समारोह में दे सकते हैं तो, आप इसे एक सरणी दे सकते हैं, और यह समारोह लागू होगी सरणी के प्रत्येक तत्व को और नई सरणी वापसी। मूल रूप से आप देते हैं, को कम करें यह एक सरणी, आप इसे देना दो तर्क लेता है कि एक समारोह। यह पहली बार है, समारोह लागू होगी कुछ स्टार्टर मूल्य के साथ पहला तर्क। फिर दूसरे में है कि परिणाम के लिए। फिर तीसरे में है कि परिणाम के लिए, फिर चौथे में है कि परिणाम के लिए। यह अंत करने के लिए हो जाता है और फिर जब वापसी। तो उदाहरण के लिए, यदि आप चाहते हैं सभी तत्वों की राशि की गणना एक सरणी में, आप कॉल कर सकते हैं की तुलना में कम हो [अश्राव्य] के साथ एक अतिरिक्त को कम समारोह, समारोह की तरह ए, बी, एक प्लस बी वापसी। और फिर 0 के एक मूल्य शुरू करते हैं। और इन सब के लिए, आप उन्हें मिल सकता है आर दस्तावेज में वर्णित है, किसी भी पाठ्यपुस्तक पर कार्यात्मक प्रोग्रामिंग। के इस वर्ग भी है कहा जाता कार्यों कार्यों को लागू करने, जो मुझे लगता है वे हैं don't-- थोड़ा मुश्किल है, की व्याख्या करने के लिए लेकिन आप में देखने के लिए अगर [सुनाई] मैं शुरुआत में उद्धृत किया है कि बुक, वह बहुत अच्छी तरह से में उन्हें बताते हैं आर प्रोग्रामिंग पर उसके परिशिष्ट। प्रथाओं के बारे में अधिक, वैक्टर को जोड़कर। हाँ? मुझे लगता है कि सही करना मुझे लगता है। कि पहली पंक्ति में, ग्राम शिक्षा समिति के तीर, उस तीर नहीं होना चाहिए। आप एक वेक्टर के लिए आवंटित कर सकते हैं फिर, द्वारा इसकी लंबाई प्लस 1 लेने के लिए और उस के लिए कुछ मूल्य बताए। यही कारण है कि वेक्टर विस्तार, या आप होगा ग्राम शिक्षा समिति के बराबर होती है ग, ग्राम शिक्षा समिति के newvalue कर सकते हैं। फिर, यदि आप के साथ सी का उपयोग वेक्टर के रूप में एक तर्क है, जिसके परिणामस्वरूप पदानुक्रम चपटा हो जाता है। तो तुम सिर्फ एक वेक्टर मिलेगा कि एक के लिए बढ़ा दी है। ऐसा कभी नहीं। कारण है कि आप इस यह है क्या नहीं करना चाहिए। आप एक वेक्टर आवंटित है, यह यह स्मृति का एक निश्चित हिस्सा देता है। आपको लगता है कि वेक्टर आकार बढ़ाने के लिए, यह वेक्टर reallocate करने के लिए है कहीं और। और तो पुन: आबंटन काफी महंगा है। मैं कैसे की गहराई में नहीं जाना होगा स्मृति allocators लागू कर रहे हैं ऑपरेटिंग सिस्टम के स्तर पर, लेकिन यह समय की एक बहुत लेता है स्मृति का एक नया हिस्सा खोजने के लिए। और यह भी, आप कर रहे हैं फिर से आवंटन बहुत और बहुत सारे की उत्तरोत्तर बड़ा मात्रा, आप अंत कहा जाता है कुछ के साथ स्मृति विखंडन, जहां उपलब्ध स्मृति है छोटे ब्लॉकों के बहुत से भागों में विभाजित देखने की स्मृति allocators बिंदु में। और यह कठिन है और कठिन हो जाता है अन्य बातों के लिए स्मृति खोजने के लिए। तो बजाय, आप ऐसा करने की जरूरत है, यदि आप एक छोर से एक सदिश बढ़ने की जरूरत है अगले करने के लिए, यह करने के लिए जोड़कर बजाय लगातार, आप इसे पूर्व आवंटित करना चाहिए। ग्राम शिक्षा समिति के तीर, वेक्टर लंबाई 1000, या जो कुछ भी बराबर होती है। और फिर आप बस असाइन कर सकते हैं वेक्टर के मूल्यों से एक को आप इसे एक बार आवंटित करने के बाद भी समय है। मैं, फिर से, इस में मेरी गर्मियों में नौकरी भागा जब मैं NRA अंतर लिख रहा था समीकरण हल रहता था। संख्यात्मक प्रतीकात्मक नहीं। विचार एक बार आप यह है कि अपने समाधान के लिए एक मूल्य है, आप अगले एक की गणना करने के लिए उपयोग। भोली तो मेरा प्राकृतिक झुकाव, ठीक कहना था तो मैं एक वेक्टर के साथ शुरू करेंगे कि एक बड़ा मूल्य है। कि अगले मूल्य से कंप्यूट कि, मेरे समाधान वेक्टर पर चला जाता है और कहा कि संलग्न। कुछ और बनाएं, कि संलग्न। यह बहुत, बहुत धीरे से चला गया। और मुझे यह एहसास हुआ एक बार और मैं अपने सिस्टम को बदल दिया इस सदिश को जोड़कर से 10,000 से 1,00,000 बार की तरह, बस के लिए एक वेक्टर पूर्व आवंटन और बस के साथ चल रहा है। मैं अधिक से अधिक 1,000 गुना गति उठ गया। तो यह एक बहुत ही आम है आर प्रोग्रामिंग के लिए जाल। आप एक सदिश का निर्माण करने की जरूरत है टुकड़ा टुकड़ा करके, यह पूर्व का आवंटन। इस up-- एक अन्य आम यात्रा मेरे पिछले है स्लाइड, त्रुटि हैंडलिंग है नहीं worry-- करते हैं। आर, सच कहूँ तो, ऐसा नहीं करता वास्तव में यह बहुत अच्छी तरह से करते हैं। वहां अत्यधिक हैं फसल कर सकते हैं कि समस्या। उदाहरण के लिए, आप एक सरणी मिलता है या एक समारोह के बाहर एक वेक्टर यदि आप एक ही उम्मीद कर रहे थे कि मूल्य ठीक इसके विपरीत से आते हैं, या करने के लिए, और आप एक समारोह में कहा कि कि पास आप एक ही मूल्य की उम्मीद लिखा था, कि एक समस्या हो सकती है। कुछ कार्य के रूप में करते हैं, कहते हैं, अशक्त लौटने एक से पढ़ एक सूची में अस्तित्वहीन कुंजी। लेकिन अशक्त सी की तरह नहीं है जहां आप को पढ़ने की कोशिश करता है, तो एक पुरानी सूचक से, [सुनाई] सूचक अशक्त करने के लिए, यह सिर्फ दोष seg और आप अपने डिबगर में हैं, तो यह आप कर रहे हैं वास्तव में, जहां आपको बताता है। कार्यों do-- होगा इसके बजाय, अशक्त अप्रत्याशित बातें करेंगे वे हाथ अशक्त कर रहे हैं। आप अधिकतम अशक्त सौंप रहे हैं की तरह, यह आप नकारात्मक अनन्तता दे दूँगा। और हां, हाँ। और इसलिए यह हुआ मेरे लिए मैं था एक बार जब क्षेत्र की एक गुच्छा बदल मेरी सूची संरचना में एक बार उन्हें कहीं और बदलने के बिना जब मैं उन लोगों से पढ़ रहा था। और फिर मैं यादृच्छिक के सभी प्रकार के लिए मिला इन्फिनिटी परिणाम सामने आते और मुझे नहीं पता कि वे कहाँ से आया है। और दुर्भाग्य से, वहाँ है कोई वास्तविक आर सख्त मोड जहां आप कुछ है, तो कह सकते हैं यह एक त्रुटि हो सकती है, जैसे लग रहा है मैं हो सकता है तो सिर्फ वहाँ बंद अनुशासित और कहा कि ठीक है। हालांकि, वहाँ कुछ है बंद नहीं करता है, तो कहा जाता है। यह, सी के जोर के बराबर है आप इस बारे में बात की है, तो। मैं सी जोर नहीं लगता एक व्याख्यान विषय है, लेकिन अपने अनुभाग नेता यह खत्म हो गई होगी। मूल रूप से किसी भी लेता है और यदि नहीं रोक विधेय, इसलिए किसी भी बयान दिया था कि सही है या गलत हो सकता है। यह गलत है, तो यह अपने कार्यक्रम बंद हो जाता है। यह आप लाइन वास्तव में क्या आपको बताता है पर थे और क्या हालत में विफल रहा है। और यह बहुत ही उपयोगी है, उदाहरण के लिए, विवेक की जाँच, समारोह आदानों। आप एक समारोह है, तो और तुम कहते हो, उम्मीद आप मुझे एक तारीख देना चाहिए, तो मैं चाहता हूँ तारीखों की लंबाई 1 का सिर्फ एक वेक्टर हो और कहीं न कहीं 1 से 31 के बीच है। और अगर नहीं, मुझे पता है कुछ गलत हो गया है। और मैं इस से पहले वहाँ बंद करने के लिए चयन कोड के साथ प्रभाव पर यादृच्छिक दस्तक है यह कठिन है कि के माध्यम से पता लगाने के लिए। इसलिए संभव है कि एक है रोक के लिए उपयोग करता है, तो नहीं। ठीक है, किसी भी तरह। तो यह है कि अंत है। आने के लिए बहुत बहुत धन्यवाद। मैं इस पर एक रैंक शौकिया हूँ। तो माफ आप बोर हो रहे हैं या उलझन या तुम क्या है। मैं ईमेल द्वारा प्रश्नों का उत्तर देने के लिए खुश हूँ connorharris@college.harvard.edu पर। यह हर किसी के लिए भी चला जाता है इस पर बाद में रहते हैं या देख रहा है। इसके अलावा, हालांकि मैं नहीं हूँ एक टीएफ, मैं भी बहुत हूँ एक अनधिकृत के रूप में काम करने के लिए तैयार है जो किसी के लिए सलाहकार एक अंतिम परियोजना में अनुसंधान का उपयोग कर। आपको लगता है कि करने के लिए करना चाहते हैं, तो बस अपने टीएफ से बात करो और उसके बाद तो मुझे एक ईमेल लिखने मैं तुम पर काम कर रहे हैं पता और इसलिए मैं बैठक की स्थापना कर सकते हैं आप के साथ समय आप चाहते हैं। तो फिर, आपको बहुत बहुत धन्यवाद। मुझे उम्मीद है कि आपको मज़ा आया। दर्शकों: [अश्राव्य]। CONNER हैरिस: बेशक। दर्शकों: एक परियोजना किस तरह का एक सीएस के छात्र के लिए आर का प्रयोग करेंगे? CONNER हैरिस: आप ऐसा नहीं कर रहे हैं, तो विशुद्ध रूप से डाटा खनन में कुछ है कि, उदाहरण के लिए, और वहाँ बहुत सी बातें हैं आप डेटा के साथ उस के साथ क्या कर सकता है खनन और मशीन सीखने। आप के लिए अनुसंधान का उपयोग करने के लिए चाहते हो सकता है कुछ का एक घटक है। मैं मूल रूप से, उदाहरण के लिए लाया यदि आप एक वेबसाइट लिख रहे हैं की यदि और आप स्वचालित चलाना चाहते हैं आपके सर्वर का सांख्यिकीय विश्लेषण एक निश्चित समय में हर दिन लॉग, कि कुछ है कि हो सकता है सिर्फ एक संक्षिप्त में बहुत आसान नहीं आप समय कर सकते हैं कि आर स्क्रिप्ट उदाहरण के लिए, हर रात को चलाने के लिए। और मुझे लगता है, यदि यकीन वहाँ किसी भी कारण से आप चाहें है आँकड़े या रेखांकन क्षमताओं चाहते हैं और स्वचालित रूप से करने के बजाय इस दौड़ है की बातचीत करने के लिए हो रही है एक्सेल में चीजों के साथ, उदाहरण के लिए, कि कुछ है आप के लिए R उपयोग करने के लिए चाहते हो सकता है। तो मैंने पहले किसी भी अधिक प्रश्न छोड़ दिया? नहीं? ठीक है, ठीक है, फिर से, धन्यवाद आने के लिए बहुत बहुत धन्यवाद।