CONNOR HARRIS: لا يزال I أعتقد أن بعض فيديو مثيرة التي تنتجها الاستشارات المهنية يستخدم R كثيرا في عملها. المعلق: ما وراء الإحصاءات، تحليلات وتصورات ألمع العلماء البيانات التي اليوم وكبار رجال الأعمال يعتمدون على إلى اتخاذ قرارات قوية؟ قد لا ترى دائما. لكنه هناك. انه دعا R، R-- مفتوحة المصدر لغة البرمجة الإحصائية أن الخبراء البيانات العالم الإفراط في استخدام كل شيء من الخرائط واسع الاجتماعية والاتجاهات والتسويق عبر الإنترنت لتطوير المالية والمناخ النماذج التي تساعد على دفع اقتصاداتنا والمجتمعات. ولكن ما هو بالضبط R وأين R تبدأ؟ حسنا أصلا، التي R هنا مع اثنين من أساتذة الذي يريد إحصائية أفضل منصة لطلابهم. حتى أنها أنشأت واحدة على غرار بعد لغة الإحصائية S. هم، جنبا إلى جنب مع العديد من الآخرين، ظلت تعمل على واستخدام R، خلق أدوات للبحث والعثور على تطبيقات جديدة لR كل يوم. وبفضل هذا هو جهد المجتمع في جميع أنحاء العالم، R أبقى تنمو مع الآلاف المكتبات إنشاء المستخدم بنيت لتعزيز وظيفة R و ذات المصادر الحشد التحقق من صحة الجودة وبدعم من الأكثر شهرة قادة الصناعة في كل حقل يستخدم R. وهو أمر عظيم، ل R هو أفضل في ما يفعل. في مهدها الخبراء بسرعة و بسهولة تفسير، والتفاعل معها، وتصور البيانات تظهر بشكل سريع المجتمع المتزايدة من المستخدمين في جميع أنحاء العالم R ونرى كيف مفتوحة المصدر تواصل R لتشكيل مستقبل الإحصائية تحليل والعلوم البيانات. CONNOR HARRIS: OK، عظيم. لذلك العرض الخاص بي سوف يكون قليلا أكثر واقعية. انها لن تنطوي على أن الكثير موسيقى خلفية مثيرة. ولكن كما رأيتم في الفيديو، R هو نوع جنرال لغة البرنامج الغرض. ولكن تم إنشاؤه في الغالب للعمل الإحصائي. حتى انها مصممة للإحصاءات، لتحليل البيانات، لاستخراج البيانات. وهكذا يمكنك أن ترى ذلك في الكثير من خيارات التصميم أن صناع R صنع. انها مصممة للحد كبير، الناس الذين ليسوا خبراء في مجال البرمجة، الذي هي مجرد التقاط البرمجة على الجانب حتى يتمكنوا من أداء عملهم في العلوم الاجتماعية أو في مجال الإحصاء أو أيا كان. انها لديها الكثير من جدا اختلافات هامة من C. لكن بناء الجملة و النماذج أنه يستخدم على نطاق واسع هي نفسها. ويجب أن يشعر جدا كثيرا في المنزل الحق قبالة الخفافيش. انها لغة حتمية. لا تقلق كثيرا عن ذلك إذا كنت لا تعرف هذا المصطلح. ولكن هناك تمييز بين حتمي، التعريفي، وظيفية. حتمية يعني فقط إجراء البيانات التي هي أوامر أساسا. ثم المفسر أو كمبيوتر يتبع واحدا تلو الآخر. لقد كتبته ضعيفة ذلك، هناك لا يوجد نوع الإعلانات في R. ثم السطور بين أنواع مختلفة أكثر قليلا فضفاضة من هم في C، على سبيل المثال. وكما قلت هناك مرافق واسعة جدا لبرسوم بيانية، لإحصائية تحليل، لاستخراج البيانات. كلاهما بنيت هذه في اللغة و، كما قال الفيديو، الآلاف من المكتبات طرف ثالث أن يمكنك تحميل واستخدامها مجانا مع شروط الترخيص فضفاضة جدا. في ذلك العام، أنصح ان نظرتم الى هذين الكتابين اذا كنت تريد الذهاب للعمل على R. احد منهم هو R المبتدئين مسؤول دليل. لقد حافظت عليه من قبل المطورين الأساسيين للR. يمكنك تحميل البرنامج من جديد، خال من تهمة وقانونيا في أن هناك ارتباط. كل هذه الشرائح في سبيلنا للذهاب حتى على الانترنت، على CS50 الموقع بعد ذلك يتم. لذلك لا حاجة لنسخ الأمور بشكل محموم. والآخر هو ل كتاب من قبل قسما شاليزي، الذي هو أستاذ الإحصاء في جامعة كارنيجي ميلون، ودعا بيانات المتقدم تحليل من نقطة الأولية للعرض. هذا ليس أساسا كتاب R. انه كتاب الإحصاءات و أنه كتاب تحليل البيانات. ولكن يمكن الوصول إليها جدا للأشخاص الذين لديهم قدر من المعرفة الإحصاءات. لقد اتخذت أبدا بالطبع الرسمي. وأنا أعلم تماما اجزاء وقطع من الموضوعات المختلفة الحليفة أنني قد اتخذت دورات في. وكنت قادرا على فهم ذلك جيدا. يتم إعطاء جميع الأرقام في R. وهي مصنوعة في R ولديهم أيضا قوائم كود تحت كل شخصية إخبارك كيف تجعل كل شخصية مع رمز R. وهذا مفيد جدا إذا كنت في محاولة لمحاكاة بعض الرقم الذي تراه في كتاب. وحمل مرة أخرى مجانا stat.cmu.edu/cshalizi/ عذرا، التي ينبغي خفض cshalizi تيلدا. سأتأكد لتصحيح هذا عندما تذهب الشرائح الرسمية تصل. / ADAfaEPoV الذي هو مجرد اختصار لعنوان الكتاب. R caveats-- ذلك العام لديه الكثير من القدرات. انا ذاهب فقط لتكون قادرة على تغطية سطح الكثير من الأشياء. أيضا الجزء الأول من الندوة سيكون نوعا من تفريغ البيانات. أنا آسف جدا عن ذلك. في الأساس، أنا ذاهب ل أعرض لكم إلى الكثير من الأشياء الحق قبالة الخفافيش، والذهاب باسرع ما يمكن. ثم نصل الى الجزء الممتع، الذي هو التجريبي حيث يمكن أن تظهر لك كل شيء أن تحدثنا عن على الشاشة. ويمكن أن تقوم به في جميع أنحاء بنفسك. لذلك هناك سيكون الكثير من الاشياء التقنية القيت حتى على هنا. لا داعي للقلق حول نسخ كل ما أسفل. لأن A، يمكنك الحصول على كل الاشياء على موقع CS50 في وقت لاحق. وB، انها ليست حقا أن المهم لحفظ هذا من الشرائح. انها أكثر أهمية أن تحصل بعض المرافق بديهية معها والذي يأتي من مجرد اللعب حولها. فلماذا استخدام R؟ في الأساس، إذا كان لديك مشروع ينطوي التعدين مجموعات كبيرة من البيانات، والبيانات التصور، ل يجب استخدام R. إذا كنت القيام التحليلات الإحصائية معقدة، التي سيكون من الصعب في Excel، على سبيل المثال، فإنه كما أن good-- أيضا إذا كنت تفعل الإحصائية تحليل هذا ما الآلي. دعونا نقول كنت الحفاظ على موقع على شبكة الانترنت. وتريد قراءة سجل الخادم كل يوم وتجميع بعض القائمة، مثل هذه الدول المتصدرة التي المستخدمون تأتي من، بعض إحصاءات موجزة على مدى فترة طويلة ما تنفقه على موقع الويب الخاص بك أو أيا كان. وتريد تشغيل هذا كل يوم. الآن إذا كنت تفعل هذا في إكسل، عليك أن تذهب إلى سجل الخادم الخاص بك، استيراد هذا إلى جدول بيانات Excel، تشغيل جميع التحليلات يدويا. مع R، يمكنك فقط كتابة السيناريو واحد. جدولة لتشغيل كل يوم من نظام التشغيل الخاص بك. وبعد ذلك كل ليلة في الساعة 2:00 صباحا، أو كلما جدولة تشغيله، وسوف ننظر من خلال موقعك حركة المرور على الإنترنت لذلك اليوم. ثم في اليوم التالي، عليك يكون هذا التقرير الجديد لامعة أو أيا كان مع كل من المعلومات التي طلبت. وذلك أساسا R هو لسيسكو برمجة مقابل تحليل سيسكو. يتم أولية. دعونا ندخل في الأشياء الحقيقية. لذلك هناك ثلاثة الحقيقي أنواع في اللغة. هناك نوع عددي. هناك نوع من الاختلاف بين الأعداد الصحيحة ونقطة عائمة، ولكن في الحقيقة لا. هناك شخصية اكتب، وهو السلاسل. وهناك منطقية اكتب، وهي القيم المنطقية. ويمكنك تحويل بين أنواع باستخدام هذه الوظائف كما الرقمية، كما حرف، ومنطقية. إذا كنت الاتصال، على سبيل المثال، كما رقمية على سلسلة، وسوف أحاول أن أقرأ هذه السلسلة كرقم، وبنفس الطريقة أن A2I وscanf القيام به، وإذا C. استدعاء كما رقمية على صواب أو خطأ فإنه سيتم تحويل إلى 1 أو 0. إذا كنت استدعاء كحرف على أي شيء سوف أكون تحويل ذلك إلى تمثيل السلسلة. وبعد ذلك هناك ناقلات والمصفوفات. لذلك ناقلات هي في الأساس 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 بناء في PHP، التي ستحصل على تعلم 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 في الضرب مصفوفة، التحلل الطيفي، diagonalization، والكثير من الأشياء. إذا كنت ترغب أعلى الأبعاد صفائف، لذلك 3، 4، 5، أو أيا كان الأبعاد يمكنك أن تفعل ذلك. بناء الجملة مجموعة قاتمة يساوي ج، ثم قائمة الأبعاد. حتى إذا كنت تريد مجموعة الأبعاد 4 مع أبعاد 4، 7، 8، 9، مجموعة، خافت يساوي (4،7،8،9) ج. يمكنك الوصول إلى قيم واحدة مع أقواس الأولى فاصلة دخول الإدخال الثاني. يمكنك الحصول على شرائح بأكملها الصفوف أو الأعمدة. مع بناء الجملة هذا غير مكتمل انها مجرد صف عدد فاصلة أو عمود فاصلة عدد. حتى القوائم هي نوع من مجموعة المرتبطة بها. لديهم جملة الخاصة بهم هنا. القيام مرة أخرى لا محموم نسخ هذا كله إلى أسفل. هذا هو مجرد لدرجة أن الناس يمر الشرائح في وقت لاحق لدينا كل هذا في إشارة لطيفة. وهذا سوف تصبح مرة واحدة طبيعية جدا أنا فعلا المشي من خلال العروض. هكذا يسرد صفائف المرتبطة أساسا. يمكنك الوصول إلى القيم مع اسم القائمة، علامة الدولار، مفتاح. حتى إذا تم تسمية قائمتك فو، ثم يمكنك الوصول إليه من هذا القبيل. يمكنك الحصول على زوج قيمة المفتاح-كامل عن طريق تمرير في مؤشر قوس مربع. إذا كنت تقرأ من غير موجودة مفتاح، وستحصل على باطل. انها لن خطأ. الشيء هو، سوف R تفعل ما كثيرا مع باطلة لأنها يمكن. وهذا يمكن أن يعني أنه إذا كنت لا تتوقع الحصول على باطل من بعض ائحة القراءة، وستحصل على بعض أخطاء لا يمكن التنبؤ بها إلى مزيد من الانخفاض الخط. هذا ما حدث لي بلدي عندما وظيفة في الصيف كنت تستخدم R حيث غيرت كيف يمكن لبعض تم تحديد قائمة في بقعة واحدة لكنها لم تغير في وقت لاحق على التعليمات البرمجية التي قراءة القيم من ذلك. وماذا حدث لذلك كان كنت قراءة القيم الخالية من هذه القائمة، تمريرها إلى وظائف، ويجري الخلط جدا عندما حصلت على جميع أنواع انهائيات عشوائية الزرع حتى في هذه الوظيفة. لأنه إذا قمت بتطبيق أقصى معين أو وظائف الدنيا لاغية، ستحصل على قيم لانهائية بها. إطارات البيانات، وانهم فئة فرعية من القائمة. كل قيمة هي متجه من نفس الطول. وأنها تستخدم لتقديم، في الأساس، وجداول البيانات. هناك جملة التهيئة هذا. هذا وقبل كل شيء، مرة أخرى، أن يكون أكثر من أكثر وضوحا عندما تحصل على العرض. والشيء الجميل إطارات البيانات هي أنك يمكن إعطاء أسماء لجميع الأعمدة وأسماء لجميع الصفوف. وبحيث يجعل الوصول لهم ودا قليلا. أيضا هذه هي الطريقة معظم الوظائف التي قراءة في البيانات من جداول البيانات إكسل أو من ملفات نصية، على سبيل المثال، سوف تقرأ في البيانات الخاصة بهم. أنها سوف وضعها في نوعا من الإطار البيانات. حتى functions-- وظائف بناء الجملة غريبة بعض الشيء. مرة أخرى انها اسم وظيفة، تعيين، هذه وظيفة الكلمة ثم قائمة الوسائط. لذلك هناك بعض أشياء لطيفة حول كيفية مهام العمل هنا. لواحدة، يمكنك تعيين الواقع القيم الافتراضية لبعض الحجج. لذلك يمكن القول R1 equals-- يمكنك أن تقول فو هي وظيفة حيث R1 يساوي شيئا افتراضيا إذا يحدد المستخدم بدون وسائط. خلاف ذلك، انها كل ما وضعت فيه. وهذا مفيد جدا لأن الكثير من وظائفنا في الكثير من الأحيان عشرات أو مئات من الحجج. على سبيل المثال تلك بتهمة التآمر الرسوم البيانية أو التآمر المؤامرات مبعثر لديهم الحجج التي تتحكم كل شيء من العنوان ومحور التسميات إلى لون من خطوط الانحدار. وحتى إذا كنت لا تريد لجعل تحدد الناس كل واحد من هذه مئات من الحجج السيطرة على كل جانب واحد من مؤامرة أو تراجعا أو أيا كان، من الجميل أن يكون لديك هذه القيم الافتراضية. وبعد ذلك يمكنك فعلا الكتابة كما رأيت هنا مرة أخرى. أو العثور على سبيل المثال أفضل. عند استدعاء الوظائف التي يمكن في الواقع ندعو لهم باستخدام أسماء حجة. حتى هنا مثال منشئ المصفوفة. يستغرق ثلاث حجج. عادة لديك بيانات، وهو متجه. لديك N التوالي، التي هو عدد الصفوف. لديك N cols-- عدد من الأعمدة. الشيء هو إذا قمت بكتابة يساوي N الصف مهما وN عمود يساوي أيا كان عند كنت استدعاء هذه الوظيفة، يمكنك عكس الواقع عليهم. حتى تتمكن من وضع N العقيد أولا وN التوالي الثانية، وسوف يحدث فرقا. لذلك هذا هو ميزة صغيرة لطيفة. هل الاستيراد والتصدير. ويمكن القيام بذلك، من حيث الأساس. هناك أيضا مرافق لكتابة التعسفي R تعترض على ملف ثنائي ومن ثم قراءتها مرة أخرى في وقت لاحق. وهو مفيد إذا كنت تفعل كبيرة جلسة تفاعلية R وتحتاج إلى حفظ الامور بسرعة جدا. افتراضيا R لديه دليل العمل أن الملفات الحصول مكتوبة إلى وقراءة مرة أخرى في من. يمكنك أن ترى أن مع getwg، تغييره مع setdw. شيء وخاصة للاهتمام هنا وحتى الآن الإحصاءات الفعلية stuff-- الانحدار multilinear. حتى بناء الجملة المعتادة غير معقدة بعض الشيء. هذا النموذج هو كائن كبير من حيث الأساس. يحصل تعيينه إلى LM، وهو استدعاء دالة. العنصر الأول، ص X1 تيلدا بالإضافة إلى أيا كان. تركيب وجودي هنا هو مربكا بعض الشيء. أنا آسف جدا، وهذا هي الطريقة القياسية ان الكتب علوم الكمبيوتر القيام بذلك. ولكنه أمر غريب بعض الشيء. ذلك أساسا، انها LM بين قوسين، البند الأول وvariable-- آسف، تعتمد X1 تيلدا متغير زائد زائد X2 إلا أن العديد مستقلة المتغيرات لديك. ثم هذه يمكن أن تكون إما ناقلات، كل نفس الطول. أو أنها يمكن أن تكون العمود الرؤوس في إطار البيانات الذي تحدده فقط في الثاني الإطار البيانات حجة. يمكنك أيضا تحديد صيغة أكثر تعقيدا لذلك لم يكن لديك لخطيا تراجع متغير تابع واحد، أو ناقل واحد على ناقلات موجودة من قبل. يمكنك القيام به، على سبيل المثال، عنصر ناقلات ص تربيع زائد 1 والتراجع التي ضد تسجيل بعض النواقل الأخرى. يمكنك طباعة ملخصات نموذج مع هذا الأمر يسمى summary-- أقواس ملخص مجرد نموذج. مرة أخرى شيء آخر أود أن توضيح. شيء آخر سوف تحصل على تصحيح عندما تذهب الشرائح حتى على شبكة الانترنت. إذا كنت ترغب فقط في حساب وجود ارتباط بسيط يمكنك استخدام ناقلات علاقة 1 ناقلات 2 الوظيفة الأساسية. الطريقة هي افتراضيا الارتباط بيرسون. هؤلاء هم القياسية يمكنك القيام به. هناك أيضا سبيرمان و الارتباطات Kendell التي هي بعض متنوعة من الرتبة طلب الارتباط. حسنا أنها لا حساب المنتج لحظات بين ناقلات أنفسهم، ولكن من أوامر رتبة متجه ل. ساوضح في وقت لاحق. الحضور: سؤال سريع CONNER HARRIS: بالتأكيد. الحضور: حتى عندما كنت حساب لالارتباط بسيطة تفعل تفترض أن هناك إحصائية أهمية للارتباط؟ CONNER HARRIS: ليس لديك ل. ول م هو في الأساس مجرد آلة. سوف يستغرق في شيئين وسوف بصق معاملات أفضل خط مناسبا. فإنه تقارير أيضا القياسية أخطاء في تلك المعاملات. وسوف اقول لك، مثل هو اعتراض ذات دلالة إحصائية أو الفرق من 0. هو المنحدر من أفضل خط مناسبا إحصائيا مختلفة من الصفر، وهلم جرا. لذلك يفترض شيئا، وأعتقد أن هي أفضل إجابة على سؤالك. حسنا. Plotting-- ذلك السبب الرئيسي الذي ينبغي استخدام R، مثل الانحدار multilinear. أساسا كل لغة لديه بعض التسهيلات لذلك. وبناء بصراحة R ل الانحدار هو غامضة بعض الشيء. لكن التآمر هو المكان الذي يضيء حقا. وظيفة العمود الفقري هي مؤامرة ويستغرق متجهين، x و y. ثم الحذف تقف لغاية عدد كبير من الحجج الاختيارية التي السيطرة على كل شيء من الألقاب إلى ألوان خطوط مختلفة أو نقاط مختلفة، لنوع من المؤامرة. هل يمكن أن يكون مبعثر قطع أو قطع الخط. (غير مسموع) 2 ناقلات من نفس الطول. يمكن أن تسبق ذلك مع إرفاق إطار البيانات في البرنامج النصي. وهذا سيتيح لك فقط استخدام العمود رؤوس بدلا من ناقلات منفصلة. يمكنك إضافة أفضل خطوط صالح والمحلية منحنيات الانحدار إلى الرسم البياني الخاص بك. هذه الأوامر المدرجة هنا، أساسها الخط والخطوط، افتراضيا الحصول على هذه كتب في المنبثقة النوافذ لأنه يفترض أن كنت تستخدم 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 بطبيعة الحال. في الأساس تشغيل البرامج النصية الطريقة بالضبط نفس لو كنت جالسا في الكمبيوتر الكتابة في كل سطر واحد في وقت واحد. لذلك دعونا نبدأ بجعل متجه. A السهم C 1، 2. 1، 2، 4. حسنا بالتأكيد. أنا يمكن أن تجعل حجم الخط أكبر. الحضور: أمر زائد CONNER HARRIS: أمر زائد. الأوامر زائد. كل الحق، كيف هذا؟ جيد؟ حسنا. لذلك دعونا نبدأ إعلان قائمة النواقل. هل لذلك، السهم، C 1،2،4. يمكننا أن نرى. لا تقلق بشأن قوس هناك. الأقواس هي حتى إذا كنت طباعة صفائف طويلة جدا، ونحن يمكن أن المكان الذي تتواجد فيه. ومن الأمثلة على ذلك إذا أنا نريد فقط مجموعة 2-200. إذا كنت تطبع جدا مجموعة طويلة، الأقواس يتم فقط حتى أتمكن من الحفاظ على المسار الذي المؤشر نحن على إذا أنا أبحث من خلال هذا البصر. لذلك على أية حال، لدينا. لذلك قلت من قبل أن تتفاعل صفائف جيد جدا، على سبيل المثال، العمليات الأحادية مثل هذا. ذلك ما كنت أعتقد أنني سوف أكون الحصول عليها إذا كنت اكتب زائد 1؟ نعم. الحق، وأنا الآن سوف تجعل هذه مجموعة مختلفة. دعنا نقول ب ج 20،40، 80. فما رأيك وهذا الأمر تفعل؟ إضافة عناصر. وذلك أساسا وهذا ما تقوم به. لذلك هذا أمر مريح جدا. لذلك أنا عن كيفية أفعل هذا. ج هو، دعنا نقول، 6 مرات 1-10. فماذا أريد أن أرى الواردة، هل تعتقد؟ لذلك كل ستة مضاعفات. الآن، ما رأيك سيحدث لو لم أفعل هذا؟ سوف يجعل هذا أكثر وضوحا قليلا، ج، ج. وذلك ما يحدث، هل أعتقد، إذا كنت تفعل هذا؟ زائد ج. [غير مسموع] الحضور: إما خطأ أو أنها يضيف فقط العناصر الثلاثة الأولى. CONNER HARRIS: ليس تماما. وهذا هو ما حصلنا عليه. ما يحدث هو أقصر مجموعة، لذلك، حصلت تدوير. حتى وصلنا 124، 124، 124. نعم. وأساسا، يمكنك عرض هذا السلوك من قبل، زائد 1، كما فئة فرعية من هذا السلوك، حيث أقصر مجموعة هو مجرد رقم 1، والذي هو مجموعة عنصر واحد. أكون مجرد القول ناقلات جميع الوقت بدلا من مجموعة، لأن هذا هو ما ص الوثائق عادة لا. انها عادة متأصلة ج. OK، وحتى الآن لدينا هذه المجموعة. لذلك لدينا هذه المجموعة، ج. يمكننا الحصول على ملخص إحصاءات عن ج، ملخص ج. وهذا لطيف. حتى الآن دعونا نفعل بعض الأشياء المصفوفة. دعنا نقول م هو المصفوفة. دعونا جعله ثلاثة ثلاثة واحد. حتى nrows يساوي 3، وncols يساوي 3. وللبيانات دعونا do-- فما هل تعتقد أن هذا هو ذاهب الى القيام به؟ الحق، انها واحدة المقبل. انها nrow وncolumn. ذلك ما فعلته هو أنني قمت أعلن مصفوفة ثلاثية ثلاثة ولقد مرت في مجموعة من تسعة عنصر. لذلك لوغاريتم جميع عناصر احدة خلال تسعة. وتملأ كل تلك القيم حتى array-- آسف؟ الحضور: تلك هي القاعدة 10 السجلات؟ CONNER HARRIS: لا، السجل اللوغاريتمات الطبيعية، ه قاعدة لذلك. نعم، قاعدة إذا أردت 10 سجل، وأعتقد كنت قد لتسجيل أيا كان، مقسوما سجل 10. وبالتالي فإن بيانات (غير مسموع) فقط تملأ مجموعة، لذلك أعلى إلى أسفل، ثم من اليسار إلى اليمين. وإذا كنت تريد أن تفعل بعض الدول الاخرى مجموعة، دعنا نقول n هو مصفوفة. دعونا نفعل، وأنا لا أعرف، 2-13. أو سأفعل شيئا أكثر إثارة للاهتمام. سأفعل 2-4. nrow يساوي، دعنا نقول، 3. ncol يساوي 4. ن. لذلك نحن قد حصلت على هذا. والآن إذا أردنا أن تتضاعف هذه، ونحن سوف نبذل ن مرات في المئة في المئة، لأن هذا هو ن. ولدينا منتجات المصفوفة. من قبل كانت الطريقة، هل رأيت كيف عندما أعلنت ن و2-4 حصلت على تدوير ناقلات حتى أنه يملأ كل من ن؟ إذا كنت تريد أن تأخذ التحلل القيمة الذاتية، هذا شيء يمكننا القيام به بسهولة جدا. يمكننا أن نفعل إيجين ن. وهكذا هذا هو موقفنا أولا لقاء مع قائمة. هكذا ن إيجين هي قائمة مع مفتاحين. القيم، وهو هذه المجموعة هنا. وناقلات، وهو هذه المجموعة هنا. لذلك إذا أردت استخراج، ويقول، هذا العمود الثالث من مصفوفة المتجهات الذاتية، ل المتجهات الذاتية هي ناقلات العمود. حتى نتمكن من القيام إيجين المزيد علامة ن دولار ناقلات، فاصلة 3 من (غير مسموع). مركزنا. غير أنه، كما قد تتوقع. ثم يقول ن مرات مرات في المئة مركزنا. وبالتالي فإن النتيجة هنا يبدو بالتأكيد مثل إذا أخذنا القيمة الذاتية الثالث هنا، والتي تتطابق مع وبالمتجه الذاتي الثالث. انها مضروبة فقط في كل شيء هذا بالمتجه الذاتي، مكون من الحكمة، من القيمة الذاتية. وهذا ما كنا نتوقع، لأن هذا هو ما هي القيم الذاتية. هل قام أي شخص هنا لا اتخذت الجبر الخطي؟ زوجان الناس، OK. مجرد تحويل عقلك قبالة قليلا. والواقع إذا أخذنا إيجين ن قيم علامة الدولار 3 مرات مركزنا، كذلك الحصول على نفس الشيء. هو مهيأ بشكل مختلف كصف ناقلات بدلا من ناقل العمود، لكن صفقة كبيرة. وحتى تلك هي في الأساس لطيفة الأشياء التي يمكننا القيام به مع المصفوفات، قوائم أثبت. وأود أن تثبت لطيفة أشياء عن وظائف كذلك. لذلك دعونا say-- (غير مسموع) وظيفة، والدعوة دعونا انها وظائفها من وظيفة ن ن squared-- في الواقع، وهذا ليس حقا أفضل. أ، ب، وهو التربيعية زائد ب. ذلك شيء واحد حول وظائف، ومرة ​​أخرى، غير أنها لا تحتاج البيانات عودة صريحة. حتى تتمكن من just-- لل البيان الأخير تقييمها سيكون البيان عاد، أو إرجاع قيمة. حتى في هذه الحالة، نحن تقييم فقط عبارة واحدة، زائد المربعة ب. وسيكون ذلك قيمة الإرجاع الافتراضية. فإنه لا يضر لوضع إرجاع القيم بشكل صريح، خاصة إذا كنت تتعامل مع وظيفة من منطق معقد للغاية تدفق. ولكنك لا تحتاج إليها. وحتى الآن يمكننا القيام به ظائفها 5، 1، و هذا هو أساسا ما كنت تتوقع. شيء آخر يمكننا القيام به، يمكننا القيام به في الواقع وظائفها ب يساوي 1، يساوي 5. لذلك إذا أردنا تحديد ما هو الرقم الذي هنا، التي الحجة يذهب إلى أي حجة في وظيفة، ونحن يمكن أن الوجه حول هذه القيم أينما كنا نريد. الحضور: هل هناك سبب لأنه يكتب بها مع ب يساوي بدلا من مجرد استخدام أرقام والفاصلة؟ CONNER HARRIS: نعم، عادة القيام بذلك إذا كان لديك وظائف مع الكثير من الحجج. التي قد تكون في كثير من الأحيان مثل العلامات التي كنت فقط تريد استخدامها في حالات نادرة. وبهذه الطريقة يمكنك only-- لك ويمكن الرجوع إلى حجج معينة ان كنت تريد استخدام قيم غير الافتراضي ل، ولم يكن لديك لكتابة ل مجموعة من الأعلام يساوي كاذبة من بعدهم. أو أستطيع أن أكتب هذا مرة أخرى مع قيمة افتراضية مثل ب يساوي 2. وبعد ذلك يمكن أن تفعل و وظائفها، سأفعل 4، 1 هذه المرة. و17، وهو مربع 4 بالإضافة إلى 1، كما قد تتوقع. ولكن بوسعي أيضا فقط نسمي هذا مع وظائفها 4، وسأحضر 18، ل أنا لم تحدد ب. لذلك ب يحصل على القيمة الافتراضية 2. حسنا، الآن إذا كنت بعد طول مع التجريبي، اكتب هذا الخط في الأمر الخاص مطالبة ونرى ما يأتي. في الواقع، لا تفعل ذلك. اكتب هذا. يجب أن تحصل على شيء من هذا القبيل. حتى mtcars وبنيت في البيانات تعيين هذه التظاهرة أغراض التي تأتي with-- التي تأتي في افتراضيا مع توزيع ص الخاص بك. هذا هو عبارة عن تجميع الإحصاءات من قضية 1974 من مجلة موتور تريند على عدد من أنواع السيارات المختلفة. لذلك هناك ميلا للغالون الواحد، cylinders-- أنسى ما يمكن التخلص is-- حصانا. المحتمل. إذا كنت مجرد سيارة جوجل MT، ثم واحدة من النتائج الأولى سيكون من وثائق ص الرسمية ويقوم بتوضيح جميع حقول البيانات هذه. لذلك الوزن is-- بالوزن غير وزن السيارة في طن. Q ثانية هي المرة الربع ميل. حتى الآن نحن يمكن أن تفعل بعض الأشياء متعة عن السيارات MT حقل البيانات. ولذا فإننا يمكن أن تفعل أشياء مثل أسماء التوالي، السيارات طن متري. وهذه هي قائمة من كافة الصفوف في مجموعة البيانات التي هي أسماء السيارات. يمكننا أن نفعل colnames والسيارات طن متري هذا. إذا كنت تفعل السيارات طن متري، المؤشر الفرعي العددي، مثل 2. نحصل على العمود الثاني من هذا، والذي سيكون اسطوانات. الحضور: ماذا فعلت؟ CONNER HARRIS: أنا كتبته طن متري السيارات، بين قوسين ه، الذي أعطاني الثاني عمود من السيارات طن متري. أو إذا أردنا صف واحد، ويمكنني أن اكتب mtcars بفواصل 2، على سبيل المثال. غيرها من الجولة 2 فاصلة، مثل ذلك. وهذا ينطبق في الصف الخاص بك. هذا هنا فقط لأنك تعطي العمود، ولكن العمود كناقل. أنا فقط أدركت الآن أنا نسيت أن تثبت بعض الأشياء باردة حول النواقل ما يمكنك القيام به مع الفهارس. لذلك اسمحوا لي أن تفعل ذلك الآن. لذلك دعونا نفعل ج gets-- وضع هذا على pause-- 2 مرات 1-10. لذلك ج هو مجرد الذهاب الى أن يكون متجه من 2 إلى 20. ويمكنني أن تأخذ عناصر مثل هذا، C2. أنا يمكن أن تمر في ناقلات مثل هذا، اسمحوا لي أن c-- استخدام اسم مختلف من ج، مثل ج مركزنا. في الأساس، وأنا أفعل هذا ما لم تحصل الخلط بين ج ك ناقلات وظيفة البناء، ثم ج كاسم متغير. بين قوسين مركزنا ج 4، 5، 7. هذا سوف يحصل لي من رابع، خامس، وسبعة عناصر المصفوفة. يمكنني القيام به مركزنا، وضعت في سلبية مؤشر، مثل سلبي 4. وهذا إخراجي هذا مع العنصر الرابع إزالتها. ثم إذا أردت أن تفعل شرائح، يمكنني القيام به مركزنا من 2 إلى 6. 2 القولون 6 هو مجرد ناقلات، وهو 2، 3، 4، 5، 6. يبصق ذلك. لذلك على أية حال، والعودة إلى السيارات طن متري. لذلك دعونا نفعل بعض التراجعات. دعنا نقول gets-- نموذج دعونا regress-- خطيا أنا لا أعرف. أولا دعونا لا نعلق mtcars، بطبيعة الحال. لذلك (غير مسموع) نموذج LM، دعونا التراجع ميلا للغالون الواحد على وزن تيلدا. ثم إطار البيانات mtcars. ذلك نموذج ملخص. حسنا، هذا يبدو معقدا بعض الشيء. ولكن في الأساس، كما نرى اذا كنا محاولة للتعبير عن ميل لكل جالون كدالة خطية من وزنه، ثم وصلنا إلى هذا الخط هنا، التي تعترض على 37.28. 37.28 سيكون ميلا النظرية لكل غالون من السيارة التي تزن الصفر. وبعد ذلك لكل طن إضافي، كنت تدق حوالي خمسة أميال للغالون الواحد الخروج من ذلك. كل من هذه المعاملات لك يمكن أن نرى، الأخطاء المعيارية هناك. وهم جدا ذات دلالة إحصائية. ولذا فإننا نستطيع أن نجزم جدا ل 1 ه 10 إلى 10 سلبي. حتى 1 مرات شيء إلى سلبية 10، أنه إذا جعل سيارة أثقل، سيكون لديها ميل للغالون الواحد أسوأ. أو يمكننا اختبار بعض نموذج آخر. مثل بدلا من يتراجع هذا على الوزن، دعونا التراجع على سجل من وزنه، لربما يكون الوزن الفعلي على الأميال على نحو ما هو ليس خطي. وهذا أتاح لنا على ص التربيعية 0.7528. لذلك دعونا نحاول هذا. هذه المرة دعونا نفعل متغير مختلفة أيضا. Model2. ذلك باختصار، model2. كل الحق، لذلك مرة أخرى، ونحن حصلت لدينا أفضل خط مناسبا هنا. وهذا time-- هذا قائلا: في الأساس أنه في كل مرة كنت زيادة وزن سيارة بعامل البريد تفقد هذا عدة أميال للغالون الواحد. وحتى هذا الوقت المتبقي لدينا معيار خطأ it-- هذا لا يهم، حقا. الخطأ المعياري المتبقي هو في الأساس مجرد الخطأ المعياري ان كنت قد تركت بعد يسلب خط الاتجاه. و r لدينا مربع هنا هو 0.81، أيهما أفضل قليلا مما كان لدينا من قبل، 0.52. وحتى الآن دعونا نضيف المصطلح لهذا الانحدار. لذلك دعونا التراجع ميلا للغالون الواحد سواء على سجل من الأوزان و، دعونا نفعل، ف ميل، الربع الساعة ميل. OK، فإنه يجب أن يكون the-- كل الحق، qsec. Qsec. Actually-- آسف، ما هي؟ اسمحوا لي أن نسمي هذا شيء إلى جانب آخر model2. اسمحوا لي أن نسمي هذا model3. وحتى الآن يمكننا القيام به موجز model3. وهكذا مرة أخرى، وهذا هو الأساس ما قد تتوقع. لديك اعتراض إيجابي. وفعالة زيادة الوزن هو سلبي. وفعالة زيادة ربع الساعة ميل هو إيجابي، ولكن على الرغم من أقل من ذلك من وزنه. الآن بشكل حدسي، يمكنك جعل الشعور ذلك بقوله التفكير في السيارات الرياضية. هناك تسارع سريع جدا، قصيرة جدا الأوقات الربع ميل. انهم ذاهبون أيضا إلى استخدام المزيد من الغاز، في حين أن السيارات أكثر عقلانية تسير أن يكون أبطأ سرعة، أعلى الأوقات الربع ميل، واستخدام كميات أقل من الغاز ،، لذلك ميلا أعلى للغالون الواحد. رائعة. وحتى الآن حان الوقت ل رسم شيء من هذا القبيل. لذلك دعونا do-- عارية حتى العظام يمكننا أن نفعل plots-- لأن لقد تعلق هذا الإطار البيانات before-- يمكننا القيام به للتو المؤامرات، ميلا في الغالون بالوزن. جعل هذا أكبر قليلا. هناك، لدينا أساسا مؤامرة مبعثر، ولكن النقاط هي نوع من الصعب أن نرى في هذا الشأن. أنا لا أتذكر مرتجلا ما بناء الجملة من أجل تغيير هذه المؤامرة. لذلك أعتقد أن هذا سيكون الوقت المناسب لطرح، هناك لطيفة جدا مساعدة مدمج ميزة، ونقلت مساعدة وظيفة الاسم. سنقوم إحضار الأساس أي شيء تريد. أعتقد أنني سأفعل هذا الواقع نوع يساوي ص للحصول على نقاط المؤامرات. فهل هذا يغير شيئا؟ وليس، وليس حقا. حسنا. لسبب ما، وعندما فعلت ذلك على جهاز الكمبيوتر الخاص بي منذ فترة، جميع النقاط مبعثر كانت أكثر وضوحا. على أية حال، هي نوع من التشرذم وضوحا؟ هناك واحد هناك. وهناك عدد قليل هناك، وعدد قليل هناك. يمكنك النوع من رؤيتها، أليس كذلك؟ لذلك إذا أردنا أن نضيف أفضل خط مناسبا لهذه المؤامرة هنا، وهي عارية قليلا bones-- اسمحوا لي أن جعله قليلا أجمل. يساوي الرئيسي مقابل الوزن. ميلا للغالون الواحد. مرة أخرى، يمكنك أن ترى كيف مفيدة الوسائط الاختيارية هنا أيضا مع لا وجود لوضع الأمور في ترتيب معين مع الحجج لوحة المفاتيح عندما يكون لديك المؤامرات، ل هذه تأخذ الكثير من الحجج. Xlab يساوي الوزن، والوزن، وطن. حسنا. OK، نعم، هذا الجهاز يجري مزعج قليلا. لكن يمكنك أن ترى نوعا من هناك، هناك عنوان الرسم البياني على الجانب. هنا there's-- على الجزء السفلي هنا وهناك تسميات المحور. أنا لا أتذكر مرتجلا ما الأوامر ars-- ما هي وظائف لزيادة حجم تلك التسميات والألقاب، ولكنهم هناك. وهكذا إذا أردنا أن إضافة أفضل خط مناسبا، يمكننا أن نفعل شيئا like-- I يكون بناء الجملة مكتوبة هنا. حتى أن نتذكر أننا فقط إضافة نموذج كان ميلا في الغالون، الوزن، mtcars. وحتى لو كنت أريد أن أضيف الأنسب الخط، يمكن أن أفعل ذلك، نموذج الخط ب. والازدهار، لدينا أفضل خط مناسبا. انها نوع من الصعب أن نرى مرة أخرى. أنا آسف جدا حول الصعوبات التكنولوجية. لكن تشغيله في الأساس أعلى اليسار إلى أسفل اليمين. وإذا كان مقياس أكبر، تستطيع أن ترى أن التقاطع هو ما استطعتم تجد من إحصاءات موجزة إذا قمت بكتابة نموذج ملخص. OK، لذلك آمل أن يحصل الجميع شيء من الشعور ما R هو، ما هو جيد لل. هل يمكن أن يجعل كيد أجمل بكثير من هذا في الوقت الخاص بك، إذا أردت. وبالتالي فإن وظيفة واجهة الخارجية. هذا هو الشيء الذي ليس عادة مغطاة في محاضرات تعريفية أو أي شيء التمهيدي لص. انه ليس من المرجح أنت تسير في حاجة إلى ذلك. ومع ذلك، وجدت أنه من المفيد في مشاريعي الخاصة في الماضي. وهناك ليست جيدة البرنامج التعليمي لذلك على شبكة الإنترنت. لذلك أنا ذاهب لمجرد الاندفاع لكم جميعا من خلال هذا ثم أنت حر في مغادرة البلاد. وحتى الأجنبية وظيفة واجهة هو ما يمكنك استخدامها للاتصال لمعرفة وظائف مع R. داخليا، بنيت R على الحساب C. R هو فقط 64-بت الحساب C في نقطة عائمة، الذي هو نوع المزدوج (غير مسموع). وكنت قد ترغب في القيام هذا لحفنة من الأسباب. لأحد، ويتم تفسير R، انها لا تجميعها وصولا الى رمز الجهاز. حتى تتمكن من كتابة بك الحلقات الداخلية في C ومن ثم الحصول على ميزة استخدام مثل R. انها أكثر قليلا مريحة من C. لديها أفضل الرسوم البيانية مرافق وغيرها. وحين لا تزال قادرة على الحصول على السرعة القصوى للخروج من الحلقات الداخلية، وهو المكان الذي كنت بحاجة لها حقا. إعادة استخدام مكتبات C الموجودة، هذا أمر مهم أيضا. إذا كان لديك بعض المكتبات C للمثل، أنا لا أعرف، تحويل فورييه، أو بعض الدهر السحيق جدا إجراء إحصاءات استخدام في ارتفاع الفيزياء الفلكية الطاقة أو شيء من هذا، وأنا لا أعرف. الفيزياء الفلكية عالية الطاقة ليست حتى التفكير، على ما أعتقد. ولكن يمكنك أن تفعل ذلك بدلا من الاضطرار لكتابة ميناء R الأصلي منها. وعلى the-- ومرة ​​أخرى، مثل إذا كنت ابحث في معظم المكتبات الافتراضية R، و على الداخلية، والداخلية هي تنوي استخدام وظيفة الخارجية التفاعل على نطاق واسع جدا. سيكون لديهم أشياء مثل فورييه تحول أو الحوسبة علاقة معاملات مكتوب في C، وأنها سوف يكون مجرد مغلفة R من حولهم. الواجهة هي الصعب بعض الشيء. أظن مبالغ فيه الصعوبة التي واجهها في الكثير من الإرشادات سوف تجد. ولكن مع ذلك، فمن مربكا بعض الشيء. وأنا لم تكن قادرة على العثور على البرنامج التعليمي وجيه لذلك، لذلك هذا هو عليه الآن. مرة أخرى، هذه شريحة كاملة أكثر كمرجع لاحق. لا تقلق بشأن النسخ كل شيء أسفل الآن. لذا التوجيهات التالية هي لأنظمة يونكس مثل، لينكس، BSD، OS X. وأنا لا أعرف كيف هذا يعمل على ويندوز، ولكن يرجى فقط لا تفعل بك المشروع النهائي على ويندوز. هل حقا لا تريد. يونيكس هو أفضل بكثير مجموعة يصل للبرمجة عارضة. لذلك، أساسا الأجنبية وظيفة واجهة. إذا كنت ترغب في إرسال بريد C وظيفة للاستخدام مع R، عليها أن تتخذ جميع الحجج على المؤشرات. حتى للقيم واحدة، وهذا يعني هو الإشارة إلى القيمة. لالمصفوفات، وهذا هو المؤشر إلى العنصر الأول، الذي ما أسماء مجموعة تعني في الواقع. مرة أخرى، وهذا شيء يجب أن يكون تماما جميلة منصبه بعد تعيين ص الخمسة. أسماء مجموعة هي مؤشرات فقط إلى العنصر الأول، نوع الفاصلة العائمة ضعف. وظيفة لديه للعودة الفراغ. الطريقة الوحيدة التي في وسعها أقول فعلا R ما حدث هو عن طريق تعديل الذاكرة التي أعطت R لذلك من خلال وظيفة الخارجية الواجهة. حتى لقد كتبت هذا المثال هنا، وهذا هو وظيفة أن يحسب استخدام دوت نتاج لاثنين من ناقلات. فإنه يأخذ حجتين، vec1، vec2، التي هي ناقلات أنفسهم، ثم ن، وهو طول، لمرة أخرى، وقد بنيت R في (غير مسموع) لمعرفة طول ناقلات، ولكن C لا. في C، ناقلات هي تعسفية قطعة محددة من الذاكرة. وبالتالي فإن الطريقة يمكنك حساب منتجات نقطة تم تعيين فقط هذا من معلمة إلى الصفر ثم تكرار خلال من 1 إلى نجم ن، ل ن هو مؤشر إلى طول، فقط إضافة شيء ل هذا من المعلمة. ويمكن أن يكون من الممارسات الجيدة إذا كنت تنوي القيام به هذه لإرسال اثنين من وظائف منفصلة C. واحد منهم has-- واحد منهم فقط يأخذ الحجج وأنواع أنها ستكون عادة في C. لذلك يأخذ مجموعة الحجج على المؤشرات. ولكن الحجج قيمة واحدة مثل ن، فإنه يأخذ فقط كقيم بواسطة نسخة، دون مؤشرات. ومن ثم فإنه لا (غير مسموع) من المؤشر. ثم هل يمكن أن يكون مختلفة، في الأساس، وظيفة ملحقة الأساس يعالج المتطلبات وظيفة الخارجية واجهة لك. الطريقة التي نسمي هذا في R هي، مرة واحدة لديك وظيفة الخاص بك مكتوب في C، كنت اكتب R كمد shlib، R القيادة المكتبة المشتركة، فو نقطة ج، أو أيا كان اسم الملف الخاص بك، وOS قذيفة ليس في محطة R. وهذا سيخلق مكتبة دعا فو دوت ذلك. ثم يمكنك تحميله في لدينا النصي أو تفاعلي مع القيادة تحميل داين نقطة. ثم هناك وظيفة في R تسمى نقطة مئوية. هذا يستغرق الحجج التي هي أول اسم الدالة في C الذي تريد الاتصال به. ثم جميع المعلمات لهذه المهمة، أنها يجب أن تكون بالترتيب الصحيح. لديك لاستخدام هذا النوع وظائف الإكراه صحيح، كما ضعف، والطابع، ومنطقية كما. وبعد ذلك عندما تقوم بإرجاع القائمة، وهو مرة أخرى فقط مجموعة مرتبطة بالمادة أسماء المعلمات والقيم بعد تشغيل وظيفة. حتى في هذه الحالة، لأن همز نقطة له الحجج vec1، vec2، وكثافة العمليات ن، ن خارج. لتنتشر ج لدينا همز نقطة، اسم وظيفة نحن الدعوة، vec1، vec2، نوع إكراه. طول إما ناقلات، أنا فقط اختار vec1 تعسفا. فإنه سيكون أكثر قوة القول الصورة عدد صحيح طول دقيقة من vec1، طول vec2. ثم مثلما الصفر مزدوج، لأننا لا حقا يهمني ما يذهب الى من المعلمة لأننا تعيين إلى الصفر على أي حال. ومن ثم النتائج ستكون ل مجموعة كبيرة من الأساس المرتبطة vec1 غير أيا كان، هو vec2 أيا كان. لكننا مهتمون بها، حتى نتمكن من الحصول على هذا الخروج. هذا هو مرة أخرى، لعبة سبيل المثال جدا من واجهة وظيفة الخارجية. ولكن إذا كان لديك لحساب نقطة منتجات ناقلات ضخمة في الحلقات، أو إذا كان لديك للقيام شيء آخر في حلقة، وأنت لا تريد أن تعتمد على R، التي لديها قليلا من النفقات العامة في صلب عليه، وهذا يمكن أن يكون مفيدا. مرة أخرى، هذه ليست عادة موضوعا التمهيدي لR. ليست موثقة جيدا جدا عليه. أنا فقط بما في ذلك لأنه لقد وجدت أنه من المفيد في الماضي. ممارسات جدا، سيئة. ذكرت أن هناك لحلقة في وظيفة. عموما يجب أن لا، في اللغة، وليس استخدامها. على أساس مدى R تنفذ التكرار داخليا، فإنه يمكن أن يكون بطيئا. أنها مجرد إلقاء نظرة قبيحة أيضا. R يتعامل مع ناقلات لطيف جدا، لذلك في كثير من الأحيان لا تحتاج إلى استخدامها. ثم يمكنك عادة استبدال ناقل في كثير من الأحيان مع هذه المهام يسمى عالية وظائف النظام، وخريطة، والحد، العثور عليها، أو تصفية. أنا مجرد إعطاء بعض أمثلة على ما تفعل هذه. الخريطة هي وظيفة أعلى لأن النظام فإنه يأخذ وظيفة كحجة. حتى تتمكن من إعطائها وظيفة، يمكنك إعطائها صفيف، وأنها لن تطبق وظيفة إلى كل عنصر من عناصر المصفوفة وعودة مجموعة جديدة. لحد، في الأساس كنت تعطي كان صفيف، تعطيه وظيفة يأخذ حجتين. وسوف تطبق وظيفة أولا، الحجة الأولى مع بعض قيمة مطلقة. ثم إلى تلك النتيجة في الشوط الثاني. ثم إلى تلك النتيجة في الثالثة، ثم إلى تلك النتيجة في المركز الرابع. ثم يعود عندما يحصل على النهاية. هكذا على سبيل المثال، إذا كنت ترغب في حساب مجموع جميع العناصر في صفيف، مما قد يدعو الحد مع (غير مسموع) خفض إضافة وظيفة، مثل وظائفها أ، ب، يعود زائد ب. ثم تبدأ قيمة 0. وجميع هذه، يمكنك العثور عليها موضح في وثائق R، في أي كتاب عن البرمجة الوظيفية. هناك أيضا هذه الفئة من وظائف دعا تنطبق الوظائف، وأنا don't-- انهم قليلا من الصعب شرح، ولكن إذا نظرت في (غير مسموع) حجز التي ذكرتها في البداية، وهو ما يفسر بشكل جيد جدا في ملحق له على البرمجة R. المزيد حول الممارسات، إلحاق لناقلات. نعم؟ أعتقد أنني يجب تصحيح ذلك. في هذا السطر الأول، السهم المزيد، يجب أن السهم لن يكون هناك. يمكنك أن تخصص متجه، مرة أخرى، التي تتخذ من طوله زائد 1 وإسناد بعض القيمة إلى ذلك. والتي تمتد ناقلات، أو يمكن القيام به متساوين ج مركزنا، newvalue المزيد. مرة أخرى، إذا كنت تستخدم C مع وسيطة واحدة كناقل، يحصل بالارض التسلسل الهرمي الناتجة عن ذلك. لذلك عليك فقط الحصول على ناقلات هذا ما قدمته 1. لا تفعل هذا. السبب في أنك لا ينبغي القيام بذلك هو هذا. عند تخصيص ناقلات، فإنه يعطيها قطعة معينة من الذاكرة. إذا قمت بزيادة هذا الحجم ناقلات، عليه أن يعيد توزيع ناقلات مكان آخر. وحتى إعادة تخصيص يعد مكلفا للغاية. ولن أخوض في تفاصيل كيفية وتنفذ موزعي الذاكرة على مستوى نظام التشغيل، لكنه يأخذ الكثير من الوقت العثور على قطعة جديدة من الذاكرة. وأيضا، إذا كنت إعادة تخصيص الكثير والكثير من أكبر تدريجيا قطع، وكنت في نهاية المطاف مع ما يسمى تجزئة الذاكرة، حيث الذاكرة المتوفرة وتنقسم الى الكثير من القطع الصغيرة في نقطة موزعي ذكرى الرأي. وأنها تحصل أصعب وأصعب للعثور على الذاكرة لأمور أخرى. بدلا من ذلك، إذا كنت بحاجة للقيام بذلك، إذا تحتاج إلى النمو متجه من طرف واحد في اليوم التالي، بدلا من إلحاق إليه باستمرار، يجب عليك قبل إحالته. السهم المزيد، وطول متجه يساوي 1000، أو أيا كان. وبعد ذلك يمكنك تعيين فقط للناقلات في قيم واحد وقت بعد أن كنت قد خصصت لمرة واحدة. جريت إلى هذا، مرة أخرى، وظيفتي الصيف عندما كنت أكتب NRA التفاضلي المعادلة حلالا. لا رمزية العددية. والفكرة هي أنه بمجرد أن يكون لديك قيمة واحدة الحل الخاص بك، يمكنك استخدام ذلك لحساب واحد القادم. حتى بلدي الطبيعية ساذجة كان الميل إلى القول OK، لذلك سأبدأ مع ناقل هذا قيمة كبيرة. حساب من أن قيمة القادمة أن يذهب على حل ناقلات بلدي، وإلحاق ذلك. خلق شيء آخر، إلحاق ذلك. ذهبت جدا، ببطء شديد. وعندما أدركت هذه ولقد غيرت نظام بلدي من إلحاق هذه النواقل مثل 10،000 إلى 100،000 مرة، لمجرد ما قبل تخصيص ناقلات وتشغيل فقط مع ذلك. حصلت على أكثر من 1000 سرعة طيها. لذلك هذا هو شائع جدا مصيدة للبرمجة R. إذا كنت في حاجة لبناء ناقلات قطعة قطعة، قبل إحالته. آخر رحلة مشتركة up-- هذا هو تقريري الأخير الشريحة، لا worry-- هو معالجة الأخطاء. R، لأكون صريحا، لا حقا هذا جيد جدا. هناك الكثير من المشاكل التي يمكن أن تنشأ. على سبيل المثال، إذا كنت تحصل على مجموعة أو متجه من وظيفة أن كنت تتوقع واحد قيمة قادمة من، أو العكس بالعكس، ويمكنك تمرير ذلك إلى أن وظيفة كنت أتوقع كتب قيمة واحدة، يمكن أن يكون مشكلة. وظائف معينة العودة باطلة كما يفعل، ويقول، القراءة من المفتاح غير موجود في القائمة. ولكن لاغية ليست مثل C حيث إذا حاولت قراءة من مؤشر القديم، (غير مسموع) فارغة المؤشر، فإنه ثوانى فقط أخطاء وإذا كنت في المصحح الخاص بك هو يخبرك بالضبط أين أنت. بدلا من ذلك، لاغية وdo-- وظائف سوف تفعل أشياء غير متوقعة لو انهم لاغية وسلم. مثل إذا كنت سلمت الحد الأقصى لاغية، سأعطيك اللانهاية السالبة. وهكذا، نعم. وهكذا حدث هذا لي مرة واحدة عندما أتيحت لي غيرت مجموعة من الحقول في قائمتي هيكل مرة واحدة دون تغيير في مكان آخر عندما كنت أقرأ منها. وبعد ذلك حصلت على جميع أنواع عشوائي نتائج الزرع حتى اللانهاية وليس لدي أي فكرة من أين أتوا. ولسوء الحظ، هناك لا واسطة الصارم الحقيقي R حيث يمكنك أن تقول إذا كان هناك شيء يبدو أنه قد يكون خطأ، فقط وقف هناك حتى أستطيع أن أكون انضباطا وإصلاح ذلك. ومع ذلك، هناك شيء دعا توقف إن لم يكن. هذا هو ما يعادل في التأكيد C، و إذا كنت قد تحدثت عن ذلك. لا أعتقد C تأكيد هو موضوع المحاضرة، لكن زعيم فرعكم ربما يكون قد ذهب أكثر من ذلك. وتتوقف إذا لم يأخذ أساسا أي المسند، بحيث أن أي تصريح يمكن أن تكون صحيحة أو خاطئة. وإذا كان كاذبا، فإنه يتوقف عن برنامجها. يخبرك بالضبط ما يبطن لك كان على وما حالة فشل. وهذا مفيد جدا، على سبيل المثال، التحقق من سلامة العقل، والمدخلات وظيفة. حتى إذا كان لديك وظيفة وتتوقع مثلا، إذا يجب أن تعطي لي الآن، أريد تواريخ يكون مجرد ناقل بطول 1 وما بين 1 و 31. وإذا لم يكن كذلك، وأنا أعلم ذهب شيئا خاطئا. واخترت أن تتوقف عند هذا الحد قبل هذا لديها طرق عشوائية على الآثار مع رمز أنه من الصعب أن تتبع من خلال. حتى أن واحد ممكن استخدام لوقف إن لم يكن. على أية حال، OK. لذلك هذا هو نهاية المطاف. شكرا جزيلا على حضوركم لك. أنا هواة رتبة في هذا. آسف لذلك إذا كنت تشعر بالملل أو الخلط أو ما إلى ذلك. أنا سعيد لتلقي الأسئلة عن طريق البريد الإلكتروني في connorharris@college.harvard.edu. وهذا ينطبق أيضا على الجميع مشاهدة هذا العيش أو في وقت لاحق. أيضا، على الرغم من أنني لست وTF، وأنا أيضا جدا على استعداد لتكون بمثابة غير رسمية مستشار لمن ل باستخدام R في المشروع النهائي. إذا كنت ترغب في ذلك، ثم مجرد كلام TF الخاص بك ثم يكتب لي رسالة بالبريد الالكتروني حتى أنا أعرف ما كنت تعمل على وحتى أتمكن من إعداد اجتماع الأوقات معك إذا كنت تريد. ذلك مرة أخرى، شكرا جزيلا لك. آمل أن تستمتع بها. الحضور: (غير مسموع). CONNER HARRIS: طبعا. الحضور: ما هو نوع من مشروع سوف تستخدم طالب CS R عنه؟ CONNER HARRIS: حتى إذا كنت لا تفعل شيء أن يكون محض في التنقيب عن البيانات، على سبيل المثال، وهناك والكثير من الأشياء يمكن أن تفعله مع أنه مع البيانات التعدين وتعلم الآلة. قد ترغب في استخدام R ل مكون من شيء. أنا ترعرعت، في الأصل، والمثال من إذا كنت تكتب موقع على شبكة الانترنت وكنت ترغب في تشغيل الآلي التحليل الإحصائي من الخادم الخاص بك السجلات في وقت معين كل يوم، قد يكون شيئا هذا من السهل جدا القيام به في مجرد سطور R السيناريو الذي يمكنك جدولة لتشغيل كل ليلة، على سبيل المثال. وأنا متأكد من ذلك، إذا هناك أي سبب كنت تريد إحصاءات أو قدرات بيانية ويكون هذا المدى تلقائيا بدلا من ذلك من الحاجة إلى التفاعل مع الأشياء في Excel، على سبيل المثال، وهذا شيء قد ترغب في استخدام R ل. لذلك أي أسئلة قبل أن تغادر؟ لا؟ كل الحق، حسنا، مرة أخرى، شكرا شكرا جزيلا على حضوركم.