[عزف الموسيقى] داستن TRAN: مرحبا. داستن اسمي. ولذا فإنني سوف يتم إهداء تحليل البيانات في R. فقط قليلا عن نفسي. أنا حاليا طالب دراسات عليا في العلوم الهندسية والتطبيقية. ادرس في تقاطع التعلم وإحصاءات الجهاز حتى تحليل البيانات في R هو جوهرية حقا أن ما أفعل على أساس يومي. وR هي خاصة جيدة لتحليل البيانات لأنه جيد جدا لالنماذج. وعادة، عندما كنت تفعل نوعا لتحليل البيانات، والكثير من المشاكل ذاهبون إلى المعرفية. وهكذا كنت ترغب فقط في أن يكون بعض لغة جيدة حقا أن هو مجرد جيدة للقيام المدمج في وظائف، في مقابل إلى الاضطرار إلى التعامل مع الأشياء مستوى منخفض. لذلك في البداية، انا فقط لتقديم ما هو R، لماذا كنت ترغب في استخدامه، و ثم يذهب أكثر إلى بعض العرض، واذهبوا من هناك. فما هو R؟ هو مجرد لغة وضعت R للحوسبة الإحصائية والتصور. وذلك ما يعنيه هذا هو أن انها لغة ممتازة جدا لأي نوع من الشيء الذي يتعامل مع عدم اليقين أو التصور البيانات. بحيث يكون لديك كل هذه التوزيعات الاحتمالية. هناك سوف يكون المدمج في وظائف. سيكون لديك أيضا ممتازة بالتآمر الحزم. الثعبان هو المتنافسة آخر لغة البيانات. والشيء الوحيد الذي أجد أن R هو أفضل بكثير في غير المرئي. وذلك ما سترى في العرض كما كذلك هو مجرد لغة بديهية جدا أن مجرد يعمل بشكل جيد للغاية. بل هو أيضا حر ومفتوح المصدر، كما هو أي لغة أخرى جيدة اعتقد. وهنا، وحفنة من مجرد كلمات القيت عليك. انها ديناميكية، وهذا يعني إذا كان لديك نوع معين تعيينه إلى كائن مما سوف فقط تغييره على الطاير. انها كسول حتى انها ذكية حول كيف يفعل الحسابات. وظيفية مما يعني أنها يمكن أن تعمل حقا القائم قبالة من الوظائف حتى anything-- أي نوع من التلاعب كنت به، وسوف تستند تشغيله الوظائف. مشغلي الثنائية هكذا، على سبيل المثال، هي وظائف فقط بطبيعتها. وكل ما وأنت تسير القيام به هو الذهاب ليتم تشغيلها قبالة وظائف نفسه. ثم وجوه المنحى أيضا. حتى هنا هو مؤامرة XKCD. ليس فقط لأنني أشعر مثل XKCD أمر أساسي لأي نوع العرض، ولكن ل أشعر هذا حقا المطارق درجة أن الكثير من الوقت عندما كنت تفعل بعض نوع من البيانات التحليل، والمشكلة ليست كثيرا مدى سرعة تشغيله، ولكن كم من الوقت سيكون ل يأخذك لبرمجة هذه المهمة. حتى هنا هو مجرد تحليل ما إذا كانت استراتيجية أو ب هو أكثر كفاءة. هذا سيكون الشيء الذي كنت الذهاب إلى تتعامل مع الكثير في نوع من اللغات على مستوى منخفض حيث كنت تتعامل مع أخطاء SEG، تخصيص الذاكرة، التهيئة، حتى جعل وظائف المضمنة. ويتم التعامل مع كل هذه الاشياء جدا، أنيق جدا في R. حتى مجرد أن تدق هذه نقطة، وهو أكبر عنق الزجاجة سيكون المعرفية. حتى تحليل البيانات هي مشكلة صعبة للغاية. سواء كنت تفعل تعلم الآلة أو كنت مجرد القيام نوعا من التنقيب عن البيانات الأساسية، كنت لا تريد أن يكون لاتخاذ وثيقة وتجميع ثم شيء في كل مرة كنت نريد أن نرى ما يبدو عمود مثل، ما وجه الخصوص الإدخالات في مصفوفة يبدو. لذلك أردت فقط أن يكون بعض اجهة جميلة حقا يمكنك تشغيل وظيفة بسيطة أن المؤشرات على كل ما كنت ترغب فقط وتشغيلها من هناك. وتحتاج للنطاق لغات معينة لهذا الغرض. وسوف R تساعد حقا لكم تحديد مشكلة وحلها بهذه الطريقة. حتى هنا هو إظهار البرمجة مؤامرة شعبية R كما انها ذهبت مع مرور الوقت. ذلك كما ترون، مثل 2013 أو لذلك مهب للتو بشكل هائل. وهذا كان فقط بسبب ذلك الاتجاه ضخمة في صناعة التكنولوجيا بيانات حول كبيرة. أيضا، وليس فقط التكنولوجيا الصناعة، ولكن في الحقيقة أي that-- الصناعة ل الكثير من الصناعات هي نوع من أساسية ل محاولة حل هذه المشاكل. وعادة، يمكن أن يكون لديك بعض الخير طريقة لقياس هذه المشاكل أو حتى تعريفها أو حل لهم باستخدام البيانات. لذلك أعتقد أن الحق الآن R هو 11TH معظم لغة شعبية على TIOBE وانه تم المتزايدة منذ ذلك الحين. حتى هنا بعض أكثر ملامح R. له عدد هائل من الحزم و لجميع هذه الأشياء مختلفة. لذلك أي وقت لديك مشكلة معينة، ومعظم فإن الوقت يكون R أن وظيفة لك. حتى ما إذا كنت تريد بناء نوع من آلة تعلم خوارزمية تسمى عشوائية الغابات أو الأشجار القرار، أو حتى يحاول أن يأخذ متوسط وظيفة أو أي من هذه الاشياء، سوف R ديك ذلك. وإذا كنت لا يهمك التحسين، والشيء الوحيد الذي هو القاسم المشترك وأنه بعد الانتهاء من ذلك النماذج نوعا من لغة عالية المستوى، سوف رمي in-- شئت ميناء مجرد أن أكثر من لبعض اللغات على مستوى منخفض. ما هو جيد عن R هو أنه بمجرد كنت فعلت النماذج، يمكنك تشغيل C ++، أو فورتران، أو أي من هذه منها المستوى الأدنى مباشرة إلى R. حتى أن أحد حقا سمة باردة حول R، إذا كنت تهتم حقا حول النقطة الأمثل. وكما انها جيدة حقا لتصورات شبكة الإنترنت. حتى D3.js، على سبيل المثال، هو أعتقد ندوة أخرى التي قدمناها اليوم. وهذا رائع حقا ل القيام تصورات التفاعلية. وD3.js يفترض أن يكون لديك نوع من البيانات التي يتم تآمر وR هو وسيلة رائعة لتكون قادرة على القيام تحليل البيانات قبل تصديره أكثر من D3.js أو حتى تشغيل فقط أوامر D3.js إلى R نفسها، فضلا عن كل هذه المكتبات الأخرى كذلك. لذلك كان ذلك مجرد إدخال ما هو R وماذا قد استخدامها. لذلك نأمل، لقد أقنع لك شيئا عن مجرد محاولة لمعرفة ما هو عليه. لذلك أنا ذاهب إلى المضي قدما وخلال ذهاب بعض الأساسيات حول الكائنات R وما يمكن أن تفعله حقا. حتى هنا هو مجرد مجموعة من الأوامر الرياضيات. لذلك نقول you're-- كنت ترغب في بناء نفسك باللغة وكنت ترغب فقط لديك مجموعة من أدوات مختلفة. أي نوع من العمل كنت تعتقد كنت نريده هو الذهاب الى حد كبير أن يكون في R. حتى هنا هو 2 زائد 2. هنا هو 2 مرات بي. R لديها مجموعة من الثوابت المدمج في عليك أن كثيرا ما تستخدم مثل بي، والبريد. ومن ثم، وهنا 7 زائد runif، لذلك runif من 1. هذه هي وظيفة هذا يولد زي واحد عشوائي من 0 إلى 1. وبعد ذلك هناك 3 إلى 4 قوة. هناك جذور مربع. هناك السجل. حتى تسجيل ستفعل قاعدة الأسي في حد ذاته. ومن ثم، إذا قمت بتحديد قاعدة، ثم يمكنك أن تفعل ما تريد القاعدة. ثم وهنا بعض الأوامر الأخرى. بحيث يكون لديك 23 وزارة الدفاع 2. ثم لديك ما تبقى. ثم لديك العلمي تدوين إذا كنت أيضا تريد أن تفعل أكثر عدلا و الأمور أكثر تعقيدا. حتى هنا هو الواجب. المهام المعهودة في ويتم R مع سهم لذلك فمن أقل من ثم الواصلة. حتى هنا أنا فقط تعيين 3 إلى فال متغير. ثم أنا طبع فال وبعد ذلك بطباعة ثلاثة. بشكل افتراضي في R مترجم، فإنه سيتم طباعة الامور بالنسبة لك لذلك لم يكن لديك لتحديد طباعة فال أي وقت تريد طباعتها شيء. يمكنك أن تفعل فقط فال و ثم انها سوف نفعل ذلك لك. أيضا، يمكنك استخدام يساوي من الناحية الفنية باعتبارها عامل التعيين. هناك الخفايا طفيفة بين استخدام السهم المشغل ومتساوين مشغل للمهام. معظمهم من الاتفاقية، الجميع ومجرد استخدام المشغل السهم. وهنا، أنا تعيين هذا دعا تدوين منحرف 1 القولون 6. وهذا يولد ناقل 1-6. وهذا لطيف حقا لأن ثم كنت مجرد تعيين ناقلات لفال والذي يعمل من تلقاء نفسه. لذلك هذا هو ذاهب بالفعل من single-- بيانات بديهية جدا هيكل مجرد ضعف نوع من نوع إلى ناقل والتي سوف جمع كل القيم العددية بالنسبة لك. حتى بعد الذهاب من العددية، أنت لديهم الأجسام R وهذا هو المتجه. وناقلات هو أي نوع من جمع من نفس النوع. حتى هنا مجموعة من ناقلات. لذلك هذا هو رقمي. رقمية هو الطريقة R في القول مزدوجة. وهكذا افتراضيا، أي سوف يكون عدد مزدوج. حتى إذا كان لديك ج 1.1، 3، 5.7 سلبية، وج هي وظيفة. هذا يسلسل كل ثلاثة أرقام في ناقلات. وهذا سوف be-- حتى إذا لاحظت 3 في حد ذاته، عادة يمكنك أن نفترض أن هذا هو مثل عدد صحيح، ولكن لأن كل نواقل هي من نفس النوع، هذا هو متجه الزوجي أو رقمية في هذه الحالة. rnorm هي وظيفة أن يولد variables-- عادي المعيار أو القيم العادية القياسية. وأنا تحديد اثنين منهم. لذلك أنا أفعل rnorm 2، وإسناد ذلك إلى المشروعات الإنمائية، ومن ثم أنا الطباعة من المشروعات الإنمائية. لذلك فان هذه هي اثنين فقط القيم الطبيعية عشوائية. ثم [إينتس] إذا كنت تفعل يهمك أعداد صحيحة. لذلك هذا هو فقط حول الذاكرة تخصيص وتوفير حجم الذاكرة. لذلك سيكون لديك لإلحاق الأرقام الخاصة بك عن طريق العاصمة L. بشكل عام، وهذا هو تدوين R التاريخي عن شيء يسمى صحيح طويل. لذلك معظم الوقت، عليك يكون التعامل مع الزوجي. واذا صح التعبير من أي وقت مضى في وقت لاحق على تحسين التعليمات البرمجية، يمكنك فقط إضافة هذه L'الصورة بعد ذلك أو أثناء ذلك إذا كنت مثل precognitive حول ما كنت تنوي القيام به هذه المتغيرات. حتى هنا هو متجه الحرف. لذلك، مرة أخرى، أنا وصل ثلاث سلاسل هذا الوقت. لاحظ أن سلاسل مزدوجة و سلاسل واحدة هي نفسها في R. لذلك ليس لدي آرثر وعلى مارفن وهكذا عندما أكون الطباعة بها، كل منهم وسوف تظهر سلاسل مزدوجة. وإذا كنت تريد أيضا لتشمل سلسلة مزدوجة أو مفردة في شخصياتك، ثم يمكنك إما بالتناوب سلاسل الخاص بك. لذلك لمارفن ل العنصر الثاني، وهذا هو الذهاب إلى show-- لك يكون مجرد سلاسل مزدوجة ثم سلسلة واحدة لذلك هذا هو بالتناوب. خلاف ذلك، إذا كنت ترغب في استخدام مزدوج مشغل سلسلة في سلسلة مزدوجة عندما كنت معلنا ذلك، ثم كنت مجرد استخدام المشغل الهروب. لذلك يمكنك القيام به سلسلة مزدوجة مائل. وأخيرا، ونحن أيضا لدينا ناقلات منطقية. حتى logical-- صحيح جدا وFALSE، وانهم ستكون جميع الأحرف الكبيرة. وبعد ذلك، مرة أخرى، أنا وصل لهم ومن ثم تكليفهم لbools. حتى bools سوف تظهر كنت TRUE، FALSE، وTRUE. حتى هنا هو فهرسة vectorized. لذلك في البداية، وأنا أنا أخذ function-- وهذا ما يسمى sequence-- تسلسل من 2 إلى 12. وأنا أخذ تسلسل بنسبة 2. حتى انها تنوي القيام به 2، 4، 6، 8، 10 و 12. وبعد ذلك، أنا الفهرسة للحصول على العنصر الثالث. ذلك شيء واحد أن نأخذ في الاعتبار هو أن المؤشرات R قبل ابتداء من 1. لذا فال 3 هو ذاهب لإعطاء لك العنصر الثالث. هذا هو نوع مختلف من من الآخر اللغات حيث يبدأ من الصفر. حتى في C أو C ++، على سبيل المثال، كنت ذاهب للحصول على العنصر الرابع. وهنا فال 3-5. ذلك الشيء الوحيد الذي هو حقا هو أن تبرد لك يمكن أن تولد المتغيرات المؤقتة داخل وبعد ذلك فقط استخدامها على الطاير. حتى هنا هو 3 إلى 5. لذلك أنا توليد متجه 3، 4، و 5 ثم أنا فهرسة للحصول على المركز الثالث، عناصر الرابعة، والخامسة. لذلك بالمثل، يمكنك خلاصة هذا أن تفعل فقط أي نوع من متجه والتي تمنحك الفهرسة. حتى هنا هو فال ثم العناصر الأولى والثالثة والسادسة و. ومن ثم، إذا كنت تريد للقيام مكمل، لذلك يمكنك القيام به فقط ناقص التي سوف بعد ذلك و تعطيك كل ما هو ليس أولا، ثالثا، أو العنصر السادس. ولذلك فإن هذا سوف يكون 4 و 8 و 10. وإذا كنت ترغب في الحصول على حتى أكثر تقدما، يمكنك سلسلة نواقل منطقية. لذلك هذا المؤشر هو ذاهب الى ان نعطيكم هذا ناقلات منطقي من طول 6. لذلك مندوب فاصلة الحقيقة 3. هذا وسوف أكرر الحقيقة ثلاث مرات. ولذلك فإن هذا سوف اعطيكم ناقلات TRUE، TRUE، TRUE. مندوب FALSE 4-- هذا هو ذاهب الى ان نعطيكم متجه من FALSE، FALSE، FALSE، FALSE. ثم ج يذهب لسلسلة تلك القيم المنطقية اثنين معا. لذلك كنت ذاهب للحصول على ثلاثة القيم TRUE ثم أربعة FALSEs. بحيث عند فال مؤشر، وكنت ذاهب للحصول على TRUE، TRUE، TRUE. بحيث سيكون لنقول نعم، أريد تلك العناصر الثلاثة. ثم FALSE، FALSE، FALSE، FALSE يجري ليقول لا، أنا لا أريد تلك العناصر لذلك لن إعادتها. وأعتقد أن هناك فعلا خطأ مطبعي هنا لأن هذا القول تكرار القيمة TRUE 3 وكرر FALSE 4، وتقنيا، وكنت فقط لدينا ستة عناصر ذلك يكرر FALSE، ينبغي أن يكون تكرار FALSE 3. أعتقد R هو أيضا ذكي بما فيه الكفاية مثل أنه إذا قمت بتحديد فقط 4 هنا، ثم فإنه لن حتى خطأ خارج. وسوف أعطيكم هذه القيمة. لذلك سوف تجاهل مجرد أن FALSE الرابع. حتى هنا هو التنازل vectorized. حتى set.seed-- هذا يحدد فقط البذور لأعداد المزيف. لذلك أنا وضع البذور ل 42، وهذا يعني أنه إذا كنت توليد ثلاثة عشوائي عادي القيم، ومن ثم إذا كنت شوط set.seed بنفسك الكمبيوتر باستخدام نفس القيمة 42، ثم يمكنك أيضا الحصول على نفس ثلاثة الأوضاع الطبيعية عشوائية. لذلك هذا هو حقا جيدة للاستنساخ. عادة، عندما كنت تفعل بعض نوع من التحليل العلمي، كنت ترغب في تعيين البذور. وبهذه الطريقة يمكن للعلماء الآخرين فقط إعادة إنتاج نفس رمز بالضبط كنت قد فعلت لأنها سوف يكون بالضبط نفس المتغيرات العشوائية that-- أو عشوائي القيم التي كنت قد أخرجت كذلك. وهكذا الاحالة vectorized هنا تظهر فال 1 إلى 2. لذلك يأخذ أول العنصرين من فال ثم يعين لهم إلى 0. وبعد ذلك، يمكنك أيضا مجرد القيام شيء مماثل مع القيم المنطقية. لذا فال لا تساوي 0-- هذه الإرادة أعطيك FALSE ناقلات، FALSE، TRUE في هذه الحالة. وبعد ذلك، انها ستقول أي من تلك المؤشرات التي كانت TRUE، ثم انها سوف تعيين ذلك إلى 5. لذلك يأخذ العنصر الثالث هنا ومن ثم يسند الى 5. وهذا هو لطيف حقا مقارنة مع المستوى المنخفض لغات حيث لديك لاستخدامها في الحلقات للقيام بكل هذه الاشياء vectorized لأنها مجرد بديهية جدا وانها واحدة بطانة واحدة. وماذا عن عظيم تدوين vectorized غير أنه في R، وهذه هي نوع من المدمج في ذلك انهم تقريبا سريع كما كما فعل في اللغة على مستوى منخفض كما بدلا من جعل لحلقة في R ومن ثم وجود لها أن تفعل فهرسة ديناميكية نفسها. والتي سوف يكون أبطأ من القيام هذا النوع من الشيء vectorized حيث يمكن أن تفعل ذلك في موازاة ذلك، حيث انها تفعل ذلك في خيوط أساسا. حتى هنا هو vectorized العمليات. لذلك أنا توليد قيمة 1 إلى 3 تعيين هذا إلى vec1، من 3 إلى 5، vec2، إضافتها معا. وتضيف لهم، مكون من الحكمة بحيث انها 1 زائد 3، 2 و 4، وهلم جرا. vec1 مرات vec2. هذا يضاعف اثنين قيم عنصر الحكمة. لذلك فمن 1 مرات 3، 2 مرات 4 ثم 3 مرات 5. وبعد ذلك، وبالمثل يمكنك أن تفعل أيضا comparisons-- مقارنات منطقية. حتى انها كاذبة كاذبة الحقيقي في هذا القضية ل1 ليس أكبر من 3، 2 ليس أكبر من 4. وهذا هو، وانا اعتقد، خطأ مطبعي آخر، 3 هي بالتأكيد ليست أكبر من 5. نعم. وهكذا يمكنك أن تفعل فقط كل هذه العمليات بسيطة لأن الموروثة من الطبقات أنفسهم. لذلك كان هذا مجرد ناقل. وهذا النوع من أبسط الكائن R لإعطاء ناقلات، يمكنك بناء الأجسام أكثر تقدما. حتى هنا مصفوفة. هذا هو أساسا التجريد ما هي المصفوفة نفسها. حتى في هذه الحالة، فإنه من ثلاثة مختلفة ناقلات، حيث كل واحد هو عمود، أو يمكنك أن تنظر فيه حيث أن كل واحد هو صف واحد. لذلك أنا تخزين مصفوفة من 1 إلى 9 ثم أنا تحديد 3 الصفوف. حتى 1-9 سوف أعطيك ناقلات 1، 2، 3، 4، 5، 6، وعلى طول الطريق إلى 9. شيء واحد للحفاظ أيضا في الاعتبار هو أن مخازن R القيم في شكل عمود كبير. لذلك وبعبارة أخرى، عندما ترى 1 إلى 9، انه سيكون لتخزين them-- انها سوف تكون 1، 2، 3 في العمود الأول، وبعد ذلك سوف تفعل 4، 5، 6 في العمود الثاني، ثم 7، 8، 9 في العمود الثالث. وهنا بعض الآخر الوظائف الشائعة التي يمكنك استخدامها. حتى حصيرة قاتمة، وهذا سوف اعطيكم أبعاد المصفوفة. انها سوف تعود لك متجه من البعد. حتى في هذه الحالة، لأن مصفوفة لدينا 3 من 3، انها سوف تعطيك ناقلات الرقمية هذا 3 3. وهنا يظهر فقط مصفوفة الضرب. لذلك عادة، إذا كنت تفعل فقط asterisk-- ذلك حصيرة النجمة mat-- هذا سيكون عملية عنصر الحكمة أو ما يسمى المنتج هادامارد. حتى انها تنوي القيام به كل العنصر المكون من الحكمة. ومع ذلك، إذا كنت تريد مصفوفة multiplication-- لذلك بضرب مرات الصف الأول العمود الأول في المصفوفة الثانية ل وهكذا on-- ستستخدم هذه العملية في المئة. وطن من حصيرة هو فقط عملية لتبديل. لذلك أنا أقول اتخاذ تبديل في المصفوفة، اضربها المصفوفة نفسها. وبعد ذلك سيكون ل يعود لكم 3 آخر قبل 3 مصفوفة تبين المنتج كنت تريد. وحتى أن كان المصفوفة. هنا هو ما يسمى إطار البيانات. يؤطر البيانات يمكن ان يخطر لك كما مصفوفة، ولكن كل عمود نفسها سيكون من نوع مختلف. لذلك ما هو رائع حقا عن البيانات إطارات هي أنه في تحليل البيانات نفسها، وأنت تسير أن يكون كل هذا البيانات غير المتجانسة وجميع هذه حقا أشياء فوضوي حيث كل من الأعمدة أنفسهم يمكن أن تكون من أنواع مختلفة. حتى هنا أقوله إنشاء الإطار البيانات، والقيام [إينتس] 1-3، ومن ثم يكون أيضا ناقلات الحرف. حتى أتمكن من مؤشر من خلال كل من هذه الأعمدة وبعد ذلك سوف تحصل على القيم نفسها. ويمكنك أيضا القيام ببعض نوع العمليات على إطارات البيانات. وأكثر من مرة عندما كنت القيام بتحليل البيانات أو نوعا من تجهيزها، عليك أن تكون العمل مع هذه الهياكل البيانات حيث كل عمود يسير أن يكون من نوع مختلف. وأخيرا، لذلك هذه هي أساسا فقط أربعة أشياء أساسية في قائمة R. سوف مجرد جمع أي الأشياء الأخرى التي تريد. لذلك سيتم تخزين هذا في واحد متغير التي يمكنك الوصول إليها بسهولة. حتى هنا، أنا أخذ قائمة. أنا أقول الاشياء يساوي 3. لذلك أنا ذاهب لعنصر واحد في القائمة، وهذا ما يسمى الاشياء، وانها ستكون لدينا قيمة 3. أنا يمكن أيضا إنشاء المصفوفة. لذلك هذا هو 1-4 وصف ونهاية يساوي 2، لذلك 2 من 2 مصفوفة. أيضا في القائمة وانه دعا حصيرة. moreStuff، سلسلة أحرف، وحتى قائمة أخرى في حد ذاته. لذلك هذا هو القائمة التي من 5 ودب. لذلك لديها قيمة 5 و لديه الدب سلسلة أحرف وانها قائمة داخل القائمة. لذلك يمكن أن يكون هذه أشياء متكررة حيث لديك another-- ل اكتب داخل النوع. لذلك بالمثل، هل يمكن أن يكون مصفوفة داخل مصفوفة آخر وهلم جرا. والقائمة هي مجرد وسيلة جيدة جمع وتجميع كل هذه أشياء مختلفة. وأخيرا، وهنا هو مساعدة فقط في حالة هذا وقد ذهب ما يزيد قليلا بسرعة كبيرة. لذلك في أي وقت كنت في حيرة حول نوعا من وظيفة، يمكنك القيام بمساعدة تلك الوظيفة. لذلك يمكنك أن تفعل مساعدة مصفوفة أو مصفوفة علامة استفهام. والمساعدة وعلامة الاستفهام هي مجرد اختصار لنفس الشيء حتى انهم الأسماء المستعارة. LM هي وظيفة أن لا مجرد نموذج خطي. ولكن إذا كان لديك أي فكرة عن كيفية مجرد أن يعمل، يمكنك أن تفعل فقط مساعدة من LM والتي سوف تعطيك بعض نوع من الوثائق التي يبدو وكأنه نوع من الصفحة رجل في يونكس، حيث لديك وصفا موجزا لماذا فعلت ذلك، أيضا ما هي حججه، ما تعود عليه، ونصائح فقط على كيفية لاستخدامها، وبعض الأمثلة كذلك. لذلك اسمحوا لي المضي قدما وعرض بعض تجريبي لاستخدام R. OK. لذلك ذهبت فوق جدا بسرعة فقط البيانات الهياكل ونوعا من op-- بعض العمليات. هنا هو بعض الوظائف. حتى هنا انا فقط لتحديد وظيفة. لذلك أنا باستخدام أيضا عامل التعيين هنا، ثم أقوله نعلن بأنها وظيفة. ويستغرق قيمة س. لذلك هذا هو أي القيمة التي تريدها وانا ذاهب الى العودة العاشر نفسها. لذلك هذا هو وظيفة الهوية. وما هو بارد عن هذا مقارنة مع لغات أخرى وعلى مستوى منخفض أخرى اللغات هي أن س يمكن أن يكون من أي نوع نفسها وأنه سوف يعود هذا النوع. حتى تتمكن من imagine-- لذلك دعونا لي فقط تشغيل هذا بسرعة. آسف. ذلك شيء واحد أود أن أذكر أيضا غير أن هذا المحرر أنا باستخدام ويسمى rstudio. وهذا هو ما يسمى IDE. والشيء الوحيد الذي هو لطيفة حقا حول هذا الموضوع هو أنه يتضمن الكثير من الأشياء التي تريد أن تفعل في R في حد ذاته فقط حدسي جدا. حتى هنا هو وحدة مترجم. لذلك بالمثل، يمكنك أيضا الحصول على هذا وحدة الخام فقط عن طريق القيام R. العاصمة وهذا هو بالضبط نفس الشيء مثل وحدة التحكم. لذلك يمكنني القيام به فقط معرف وظيفة س، س، س. وthen-- ثم أن سوف يكون على ما يرام نفسها. حتى rstudio كبيرة لأنه يحتوي على وحدة التحكم. كما أن لديها وثائق كنت ترغب في تشغيلها على. ومن ثم فإنه لديه بعض المتغيرات تستطيع أن ترى في البيئات. وبعد ذلك، إذا كان لديك للقيام المؤامرات، فإنك يمكن أن نرى ذلك هنا فقط، خلافا ل إدارة جميع هذه النوافذ المختلفة في حد ذاتها. أنا فعلا استخدام شخصيا فيم، ولكن أنا يشعر وكأنه rstudio ممتازة فقط للحصول على فكرة جيدة كيفية استخدام R. عادة، عندما كنت في محاولة ل تعلم بعض المهام الجديدة، كنت لا تريد للتعامل مع أشياء كثيرة جدا في وقت واحد. حتى R هو مجرد rstudio very-- هو وسيلة جيدة جدا للتعلم R دون الاضطرار إلى التعامل مع كل هذه أمور أخرى. حتى هنا أنا على التوالي معرف مرحبا. وهذا يعود مرحبا. معرف 123. هنا هو متجه من الأعداد الصحيحة. لذلك بالمثل، لأنك يمكن اتخاذ أي نوع من القيمة، يمكنك القيام به يعود معرف س ذلك فإنها ترجع 1234 و 5. واسمحوا لي أن تظهر لك فقط أن هذا هو في الواقع صحيح. وبالمثل، إذا كنت تفعل الطبقة معرف العاشر، فإنه سيكون صحيحا. وبعد ذلك، يمكنك أيضا مقارنة بينهما وهذا صحيح. لذلك أنا التحقق إذا معرف س يساوي يساوي x و إشعار أنه يعطي لك اثنين القيم TRUE. لذلك هذا لا تقول هي اثنين من الكائنات متماثلة، ولكن هي كل من الإدخالات داخل ناقلات متطابقة. هنا هو bounded.compare. لذلك هذا هو قليلا أكثر تعقيدا لأنه لديه اذا كان الشرط وآخر وبعد ذلك يأخذ اثنين الحجج في كل مرة. لذا x هو من أي نوع. وأنا أقول هذا الحجة الثانية هي. وهذا يمكن أن يكون أي شيء كذلك. لكن افتراضيا، فإنه سيستغرق 5 إذا لم تقم بتحديد أي شيء. حتى هنا انا ذاهب الى القول إذا كان x أكبر من أ. حتى لو كنت لم تحدد لذلك، يقول إذا كان x أكبر من 5، ثم انا ذاهب للعودة TRUE. آخر، وانا ذاهب للعودة FALSE. لذلك اسمحوا لي المضي قدما وتحديد ذلك. والآن أنا ذاهب ل تشغيل bounded.compare 3. لذلك تقول ان 3 أقل than-- هي 3 أكبر من 5. لا، انها ليست كاذبة بذلك. وbounded.compare 3 وانا ذاهب لمقارنتها باستخدام يساوي 2. أنا حتى الآن أقوله نعم، وأنا الآن تريد أن تكون شيئا آخر. لذلك أنا ذاهب لأقول، يجب أن تكون 2. أنا يمكن أن تفعل هذا النوع من التدوين أو أقول يساوي 2. هذا هو أكثر قابلية للقراءة في ذلك عندما كنت النظر في هذه حقا وظائف معقدة اتخاذ arguments-- متعددة وهذا يمكن أن يكون عشرات oftentimes-- فقط يقولون ويساوي 2 هو أكثر قابلية للقراءة ل لك بحيث في وقت لاحق في المستقبل سوف تعرف ما تفعلونه. حتى في هذه الحالة، وأنا القول 3 أكبر من 2. نعم إنه كذلك. وعلى نحو مماثل، ويمكنني أن إزالة فقط هذا ويقولون، هو 3 أكبر من 2 حيث يساوي 2. وهذا صحيح أيضا. نعم؟ الجمهور: هل أنت تنفيذ سطرا سطرا؟ داستن TRAN: نعم أنا. ذلك ما أفعله هنا هو أخذ هذا النص document-- وما هو عظيم في rstudio هو أن يمكنني فقط تشغيل short-- على مفتاح الاختصار. لذلك أنا أفعل-أدخل التحكم. وبعد ذلك، أنا أخذ سطر في نص الوثيقة ثم وضع في وحدة التحكم. حتى هنا أقوله، bounded.compare وأنا أفعل تحكم-X. حتى أستطيع أن فقط لا تعمل هنا أيضا. وبعد ذلك سوف تأخذ خط وثم وضعها هنا. ثم بالمثل، ويمكنني أن لا تشغيل هنا. وبعد ذلك سوف تبقي فقط تحديد خطوط في وحدة التحكم من هذا القبيل. وإذا كنت تلاحظ أيضا مجعد الأقواس موجودة مثلما هو الحال في جملة C. x-- إذا كان إذا كان الشرط هو أيضا الذهاب الى استخدام الأقواس ثم يمكنك استخدام آخر. آخر واحد هو آخر إذا. ولذلك فإن هذا سيكون س يساوي يساوي لذلك، على سبيل المثال. ثم أنا ذاهب ل العودة شيء هنا. لاحظ أن هناك اثنين مختلفة أشياء هنا أن يحدث. واحد هو أن هنا أنا تحديد إرجاع القيمة TRUE. هنا أنا فقط أقول السينية. لذلك فإن R عادة افتراضيا اتخاذ arguments-- آخر أو اتخاذ السطر الأخير من رمز، والتي ستكون ما عاد عليه. حتى هنا هذا هو نفسه الشيء كما فعل عودة السينية. وفقط لتظهر لك. ومن ثم، وأنها ستعمل تماما مثل ذلك. لذلك اسمحوا لي الاستمرار مع هذا. حتى آخر إذا. وحقا، لا أستطيع العودة أي شيء أود. لذلك أنا لا تملك حتى ل عودة القيم المنطقية في كل وقت، يمكنني العودة فقط شيء آخر. لذلك أستطيع أن أفعل عودة الدب. حتى إذا كان x يساوي يساوي لذلك، انها تسير للعودة الدب. خلاف ذلك، وانها سوف تعود TRUE. أنا يمكن أيضا القيام متجه أو أي شيء حقا. وعادة في ثابت اللغات مطبوعة، كنت قد لتحديد نوع هنا. ولاحظ أنه يمكن أن يكون أي شيء فقط. وR هو ذكي بما فيه الكفاية أنه سوف تفعل ذلك فقط، وسوف تعمل بشكل جيد. لذلك اسمحوا لي تعريف هذه. Unexpected-- يا آسف. وينبغي أن يكون متعرج هنا. موافق. باردة. حسنا. حتى الآن دعونا نقارن 3 ويساوي 3. لذلك ينبغي أن return-- yeah-- الدب القيمة. حتى الآن شيئا أكثر عمومية مثل ماذا عن هياكل البيانات الأخرى. بحيث يكون لديك هذه الوظيفة. هذا هو الذهاب إلى العمل على أي نوع من قيمة مثل 3 أو أي رقمية، وبعبارة أخرى، انقر نقرا. ولكن ماذا عن شيء من هذا القبيل متجه. فما يحدث إذا do-- لذلك أنا الذهاب لتعيين فال، ويقول، من 4 إلى 6. حتى إذا أعود هذا، هذا هو متجه من 4، 5، 6. الآن دعونا نرى ما سيحدث إذا كنت تفعل bounded.compare فال. لذلك هذا هو ذاهب الى ان نعطيكم 15 1251. لذلك وبعبارة أخرى، فإنه ما يقول اذا نظرتم الى هذا الشرط لذلك يقول x هو أقل من أو شيء من هذا. لذلك هذا هو قليلا مربكا لأنه الآن انك لا تعرف ما يجري. لذا أعتقد الشيء الوحيد الذي حقا بالرضا عن مجرد محاولة لتصحيح أخطاء هو ما يمكنك القيام به فقط فال اكبر من ونرى ما يحدث هناك. حتى val-- لهو افتراضيا 5 حتى دعونا فقط لا فال أكبر من 5. لذلك هذا هو متجه FALSE كاذبة صحيح. وحتى الآن عندما كنت تبحث في هذا، وانه ذاهب الى القول إذا، ثم انه ذاهب الى ان نعطيكم هذا هو متجه كاذبة كاذبة TRUE. وذلك عند تمرير هذا إلى R، R لا يوجد لديه فكرة ما تفعلونه. لأنه كان يتوقع واحد القيمة، وهي منطقية، والآن كنت يعطيها متجه من القيم المنطقية. حتى افتراضيا، R هو مجرد سأقول ما هيك، أنا ذاهب لنفترض أنك ذاهب الى اتخاذ العنصر الأول هنا. لذلك أنا ذاهب إلى say-- سأشارك لنفترض أن هذا غير صحيح. حتى انها ستقول لا، هذا ليس صحيحا. وبالمثل، فإنه سيكون ل يكون فال يساوي يساوي أ. لا، آسف 5. وانها تسير كما أنها كاذبة أيضا. لذلك سيكون لأقول لا، هذا ليس صحيحا وكذلك لذلك فمن سوف تعود هذه آخر واحد. لذلك هذا هو إما شيء جيد أو سيء الشيء، اعتمادا على كيفية مشاهدته. لأنه عندما كنت خلق هذه الوظائف، كنت لا تعرف فعلا ما يحدث. حتى في بعض الأحيان كنت تريد خطأ، أو ربما كنت ترغب فقط في تحذير. في هذه الحالة، R لا تفعل ذلك. لذلك هو حقا ما يصل الى لك استنادا الخروج من ما كنت تعتقد أن اللغة ينبغي أن تفعل في هذه الحالة إذا كنت تمر في متجه من القيم المنطقية عندما كنت تفعل واذا كان الشرط. لذلك دعونا نقول أنه كانت لديك الأصلي واحد مع آخر إذا العودة الحقيقية، وكنت سوف تعود FALSE. حتى طريقة واحدة من التلخيص هذا هو القول الأول لا تحتاج حتى هذا الشيء مشروط. شيء آخر يمكنني القيام به هو مجرد عودة القيم نفسها. لذلك إذا لاحظت، إذا كنت القيام فال أكبر من 5، هذا هو الذهاب لإرجاع ناقلات FALSE كاذبة صحيح. ربما هذا هو ما كنت نريد لbounded.compare. تريد العودة متجه من القيم المنطقية حيث يقارن كل من القيم لأنفسهم. بحيث يمكنك فقط لا bounded.compare وظيفة س، وهو يساوي 5. ثم بدلا من القيام هذا إذا شرط آخر، أنا ذاهب لمجرد العودة x هو أكبر من 5. حتى إذا كان هذا صحيحا، ثم انها سوف تعود TRUE. ثم اذا كان لا، انها سوف تعود FALSE. وهذا سوف يعمل ل أي من هذه الهياكل. حتى أتمكن من bounded.compare ج 1 6 أو 9 ثم أنا ذاهب لأقول يساوي 6، مثلا. وبعد ذلك سيكون ل تعطيك منطقية الصحيح ناقلات أنك تصميم. حتى تلك هي وظائف والآن اسمحوا لي فقط تظهر لك بعض صور التفاعلية. لا أعتقد أنا فعلا واي فاي هنا لذلك اسمحوا لي فقط على المضي قدما وتخطي هذا واحد اعتقد. ولكن الشيء الوحيد الذي هو بارد على الرغم من أنه إذا كنت فقط نريد لاختبار مجموعة من أوامر بيانات مختلفة، هناك مجموعة من مجموعات البيانات المختلفة التي تم تحميلها مسبقا بالفعل إلى R. حتى واحد منهم هو دعا مجموعة البيانات القزحية. هذا هو واحد من أكثر معروفة جيدا تلك الموجودة في تعلم الآلة. عليك أن تفعل عادة مجرد نوع من حالات الاختبار لمعرفة ما إذا تشغيل التعليمات البرمجية الخاصة بك. لذلك دعونا فقط تحقق ما هو القزحية. لذلك هذا شيء يسير ليكون الإطار البيانات. وانها نوع من فترة طويلة بسبب أنا طبعت للتو القزحية. انها طبع الشيء بأكمله. لذلك لديه كل هذه أسماء مختلفة. حتى القزحية هي عبارة عن مجموعة الزهور مختلفة. في هذه الحالة، انها تقول لك نوعا من ذلك، كل هذه العروض المختلفة و أطوال سيبال والبتلة. وهكذا عادة، وإذا تريد طباعتها القزحية، على سبيل المثال، كنت لا تريد أن يكون ذلك تفعل كل هذا لأن هذا يمكن أن يستغرق أكثر وحدة التحكم الخاص بك كامل. ذلك الشيء الوحيد الذي حقا لطيفة هي وظيفة رئيس. حتى إذا كنت تفعل مجرد رئيس القزحية، وهذا سوف اعطيكم الصفوف الخمسة الأولى، أو ستة أعتقد. ثم جيدا، وكنت يمكن فقط تحديد هنا. حتى 20-- هذا سيعطي كنت الصفوف 20 الأولى. وأنا في الواقع كان من نوع من الدهشة أن هذا أعطاني ستة لذلك اسمحوا لي المضي قدما وتحقق iris-- أو الرأس، آسف. وهنا أنها ستعطي لك الوثائق من ما يقوم به رئيس القيمة. لذلك ترجع أولا أو آخر كائن. ثم أنا ذاهب ل ننظر إلى الإعدادات الافتراضية. وبعد ذلك يقول الافتراضي طريقة رئيس x و ن يساوي 6L. لذلك هذا إرجاع العناصر الستة الأولى. وبالمثل إذا لاحظت هنا، وأنا لم يكن لديك لتحديد ن يساوي 6. افتراضيا أنه يستخدم ستة، وانا اعتقد. ومن ثم، إذا كنت ترغب في تحديد بعض قيمة، ثم أنا يمكن عرض ذلك أيضا. لذلك هذا هو بعض الأوامر البسيطة و وهنا واحد آخر هذا just-- جيدا، I can-- هذا هو في الواقع وأكثر تعقيدا قليلا، ولكن هذا سوف يستغرق سوى الطبقة كل عمود من مجموعة البيانات القزحية. ولذلك فإن هذا سوف تظهر لك ما كل من هذه الأعمدة هي من حيث أنواعها. لذلك طول SEPAL رقمية، عرض سيبال هو رقمي. كل هذه القيم هي مجرد الرقمية لأنه يمكن أن أقول لكم من هذه البيانات هيكلة هذه هي جميع الذهاب إلى رقمية. والعمود الأنواع ستكون عاملا. لذلك عادة، وكنت أعتقد أن هذا هو مثل سلسلة أحرف. لكن إذا قمت بذلك فقط irisSpecies، وبعد ذلك أنا ذاهب للقيام رئيس 5، وهذا هو الذهاب الى طباعة من القيم الخمسة الأولى. ومن ثم لاحظ هذه المستويات. لذلك هذا هو saying-- هذا هو الطريق R ل وجود المتغيرات الفئوية. وذلك بدلا من مجرد وجود سلاسل الأحرف، لديها مستويات يحدد بالضبط أي من هذه الأمور. لذلك دعونا نقول irisSpecies 1. وذلك ما تريد القيام به هنا هو أنا subsetting لهذا العمود الأنواع. لذلك هذا يأخذ العمود الأنواع وثم يفهرس للحصول على العنصر الأول. لذلك هذا يجب أن يوفر لك setosa. وأيضا، فهو يوفر لك مستويات هنا. بحيث يمكنك أيضا مقارنة هذا إلى setosa شخصية وهذا لن ليكون ذلك صحيحا لأن أحد هو من نوع مختلف عن الآخر. أو أعتقد أنه صحيح لأن R هو أكثر ذكاء من ذلك. ويبدو في هذه ثم يقول، وربما هذا هو ما تريد. حتى انها ستقول الطابع سلسلة setosa هو نفس هذا واحد. ثم بالمثل، يمكنك أيضا مجرد انتزاع هذه مثل هلم جرا. لذلك هذا هو مجرد نوع من أوامر سريعة من مجموعة البيانات. وحتى هنا بعض استكشاف البيانات. لذلك هذا هو أكثر من ذلك بقليل تشارك مع تحليل البيانات. وهذا مأخوذ من بعض بووتكمب في R لفي بيركلي. مكتبة حتى أجنبي. لذلك أنا ذاهب لتحميل في مكتبة يسمى أجنبي. لذلك هذا هو الذهاب الى تعطيني read.dta لذلك نفترض أن لدي هذه البينات. يتم تخزين هذه في التيار الدليل من وحدة التحكم بلدي العمل. لذلك دعونا نرى ما دليل العمل هو. حتى هنا بلدي دليل العمل. وقراءة نقطة البيانات، وهذا الشيء، يقول هذا الملف يقع في مجلد بيانات هذا دليل العمل الحالي. وread.dta هذا ليس أمر افتراضي. اعتقد انني تحميله في بالفعل. يفترض IEI أنا حملت هذا في بالفعل. ولكن ذلك لن read.dta أن يكون الأمر الافتراضي. وهذا هو السبب في أنك ستكون لدينا لتحميل في هذه المكتبة package-- هذه الحزمة دعت الخارجية. وإذا لم يكن لديك حزمة، وأعتقد أن الخارجية هي واحدة من تلك المضمنة. خلاف ذلك، يمكنك أيضا القيام install.packages وهذا من شأنه تثبيت الحزمة. وهذا سوف تعطيك R. اه، لا. وبعد ذلك أنا ذاهب لمجرد وقف هذا لأن لدي بالفعل. ولكن ما هو لطيف حول R غير أن إدارة الحزم النظام هو أنيق جدا. لأنه سيتم تخزين كل شيء لطيف حقا بالنسبة لك. حتى في هذه الحالة، انه سيكون لتخزين في ذلك، على ما أعتقد، هذه المكتبة هنا. لذلك في أي وقت تريد تثبيت حزم جديدة، انها مجرد بسيطة مثل القيام install.packages وسوف R إدارة جميع حزم لك. لذلك لم يكن لديك لتفعل شيئا في بيثون، حيث لديك حزمة الخارجية مدراء مثل ورقة اناكوندا حيث كنت doing-- تثبيت حزم خارج بيثون ثم حاولت تشغيلها نفسك. لذلك هذا هو حقا طريقة لطيفة. وinstall.packages يتطلب الإنترنت. فإنه يأخذ من الخادم والمستودع الذي يجمع كل ويسمى حزم كرا. ويمكنك تحديد أي نوع من مرآة تريد تحميل حزم من. حتى هنا أنا مع هذه البينات. أنا أقرأ في استخدام هذه الوظيفة. لذلك اسمحوا لي نمضي قدما ونفعل ذلك. لذلك دعونا نفترض أن لديك هذه البينات. وكان لديك على الاطلاق أي فكرة ما هو عليه. ويأتي هذا في الواقع ما يصل في كثير من الأحيان إلى حد ما في هذه الصناعة حيث لديك فقط هذه أطنان وأطنان من الأشياء فوضوي وانهم الخالي من الملصقات بشكل لا يصدق. حتى هنا لدي هذا مجموعة البيانات وأنا لا أعرف ما هو عليه لذلك أنا فقط تبين للتحقق من ذلك. لذلك أنا ذاهب الى القيام به أول رئيس. ولذا فإنني تحقق الستة الأولى أعمدة من ما هو هذه البينات. لذلك هذا هو الدولة، pres04، ومن ثم كل هذه نوع مختلف من الأعمدة. وما هو مثير للاهتمام هنا، أعتقد، هو أنك سوف نفترض أن هذا يبدو مثل نوعا من الانتخابات. وأعتقد فقط من النظر في ملف اسم هذا هو نوع من جمع بيانات عن المرشحين أو الناخبين الذين صوتوا لرؤساء محدد أو المرشحين الرئيس لانتخابات عام 2004. حتى هنا هو القيم 1، 2 حتى طريقة واحدة للتخزين المرشحين الرئيس هي أسمائهم. في هذه الحالة، يبدو انهم القيم فقط صحيحة. حتى عام 2004، كان بوش مقابل كيري على ما أعتقد. والآن، دعونا نقول لكم لا أعرف سواء 1 يتوافق مع بوش أو 2 يتوافق مع كيري أو و هلم جرا وهكذا دواليك، أليس كذلك؟ وهذا هو، تماما بالنسبة لي، مشكلة شائعة إلى حد ما. ذلك ما يمكن أن تفعله في هذه الحالة؟ لذلك دعونا تحقق من كل هذه الأشياء الأخرى. الدولة، أفترض هذا يأتي من ولايات مختلفة. partyid والدخل. دعونا ننظر في partyid. ولذلك ربما يكون شيء واحد يمكنك القيام به هو ننظر في كل من الملاحظات التي لديها partyid الجمهوري أو الديمقراطي أو شيء من هذا. لذلك دعونا ننظر فقط في ما هو partyid. لذلك أنا ذاهب الى اتخاذ دات ثم سأشارك للقيام بذلك علامة الدولار المشغل أن فعلت سابقا وهذا هو الذهاب الى فرعية لهذا العمود. وبعد ذلك أنا ذاهب لرئاسة هذا في 20، لمجرد أن نرى ما يبدو هذا مثل. لذلك هذا هو مجرد حفنة من ناس. لذلك وبعبارة أخرى، لديك البيانات الناقصة عن هؤلاء الرجال. ولكن يمكنك أيضا تلاحظ هذا دات partyid هو عامل لذلك هذا يمنحك فئات مختلفة. لذلك وبعبارة أخرى، يمكن أن يستغرق partyid الديمقراطي، الجمهوري، المستقل، أو أي شيء آخر. لذلك دعونا المضي قدما ودعونا معرفة أي من هذه is-- أوه، OK. لذلك أنا ذاهب الي المجموعة الثانوية لpartyid ثم ننظر إلى تلك التي هي الديمقراطي، على سبيل المثال. هذا هو ذاهب الى ان نعطيكم قيمة منطقية، قيمة منطقية ضخمة من القيم TRUE و FALSE. والآن، دعنا نقول أريد الي المجموعة الثانوية لهؤلاء الرجال. لذلك هذا هو ذاهب الى اتخاذ بلدي دات و فرعية لأيهما الملاحظات لدينا متساوين partyid يساوي الديمقراطي. وهذا هو طويل جدا ل هناك الكثير منهم. وحتى الآن، وانا ذاهب لرئاسة هذا في 20. وكما لاحظت، يساوي متساوين من المثير للاهتمام في أنك already-- كنت أيضا بما في ذلك ناس. حتى في هذه الحالة، كنت لا تزال لا يمكن الحصول على أي معلومات لأن الآن لديك الوافدين الجدد وكنت ترغب فقط لمعرفة أي من الملاحظة تتوافق مع الديمقراطي وليس هذه القيم المفقودة أنفسهم. فكيف سيكون لك التخلص من هذه الوافدين الجدد؟ حتى هنا أنا فقط باستخدام مفتاح على بلدي بالضغط وثم قوله يتحرك. ثم هنا انا فقط القول is.na datpartyid. لذلك هذا و، وسوف تتخذ متجهين منطقية مختلفة ويقولون انه سيكون من TRUE و FALSE على سبيل المثال. حتى انها تنوي القيام به هذا المكون من الحكمة. حتى هنا أنا أقول اتخاذ إطار البيانات، فرعية لتلك التي تتوافق مع الديمقراطيين، وإزالة أي منها التي لا NA. لذلك ينبغي هذا will-- تعطيك شيئا. دعونا نرى is.na. دعونا نحاول datpartyid is.na. وهذا يجب أن تعطي you-- sorry-- مجرد ناقل منطقي. وبعد ذلك، لأنه طويل جدا، انا ذاهب الي المجموعة الثانوية إلى 20. موافق. لذلك هذا يجب أن تعمل. وهذا واحد سوف يكون أيضا القيم TRUE. آه، لذلك الخطأ وجودي هنا هو أن I'm-- I استخدام C ++ وR بالتبادل حتى أجعل هذا الخطأ في كل وقت. لوالمشغل في الواقع واحدة تريد. كنت لا تريد استخدام اثنين الوات، مجرد واحد. موافق. لذلك دعونا نرى. لذلك نحن subsetted ل partyid حيث انهم الديمقراطي وانهم لا القيم المفقودة. والآن دعونا ننظر في تلك التي انهم صوتوا لصالح. لذلك يبدو وكأنه أكثر منهم صوتوا ل1. لذلك أنا ذاهب إلى المضي قدما ويقول هذا هو كيري. وبالمثل، يمكنك يذهب أيضا إلى الجمهوري ونأمل، وهذا يجب أن تعطيك 2. انها مجرد حفنة من أعمدة مختلفة. والواقع، انها 2. حتى partyid كل الجمهوري، معظمهم من التصويت لمدة 2. لذلك يبدو وكأنه، فقط من خلال النظر في هذا، الجمهوري سيكون وvery-- أو partyid وستكون جدا عامل كبير في تحديد أي من المرشحين انهم الذهاب الى التصويت لصالح. وهذا صحيح من الواضح بشكل عام. وهذا يطابق الخاص بك الحدس، بطبيعة الحال. لذلك يبدو وكأنني نفاد الوقت حتى اسمحوا لي فقط يجب المضي قدما وتظهر بعض الصور السريعة. وحتى هنا شيء أن يكون قليلا أكثر تعقيدا مع التصور. حتى في هذه الحالة، وهذا هو غاية تحليل بسيط للتحقق فقط ما رئيس '04 هو. حتى في هذه الحالة، دعونا نقول لكم أراد أن الإجابة على هذا السؤال. لذلك لنفترض أننا نريد أن نعرف التصويت السلوك في انتخابات رئيس عن عام 2004 وكيف أن يختلف حسب الجنس. وذلك ليس فقط لا تريد رؤية السلوك الانتخابي، ولكن تريد فرعية من كل العرق ونوع من تلخيص ذلك. ويمكن أن أقول لكم فقط بواسطة هذه الرموز المعقدة أن هذا النوع من الحصول على ضبابي. حتى واحد من أكثر تقدما R حزم هذا أيضا نوع من الأخيرة ويسمى dplyr. لذلك هو هذا الحق واحد هنا. وggplot2 ggg-- هو مجرد طيف طريقة للقيام تصورات أفضل من واحد مدمج. لذلك أنا ذاهب لتحميل هذه المكتبات اثنين. وبعد ذلك، انا ذاهب للذهاب قدما وتشغيل هذا الأمر. يمكنك فقط علاج هذه على شكل مربع أسود. ما يحدث هو أن هذه الأنابيب مشغل يمر في هذه الحجة إلى هنا. لذلك أنا مجموعة قائلا كتبها دات السباق ومن ثم الرئيس 04. وبعد ذلك، كل هذه الأوامر الأخرى يتم تصفية ثم يلخص حيث أفعله العد و ثم أنا بالتآمر هنا. OK بارد. لذلك دعونا المضي قدما و ترى ما يبدو هذا مثل. وذلك ما يحدث هنا هو أنني فقط تآمر كل من الأجناس وثم تلك التي انهم صوتوا لصالح. وهذه مختلفين قيم تتوافق مع 2 و 1. إذا كنت تريد أن تكون أكثر أنيقة، يمكنك أيضا مجرد تحديد أن 2 هو Kerry-- أو 2 هو بوش، ثم 1 غير كيري. ويمكن أن يكون لديك أيضا أنه في أسطورة الخاص بك. ويمكنك أيضا تقسيم هذه الرسوم البيانية. بسبب شيء واحد هو التي، إذا لاحظت، هذا ليس من السهل للغاية لتحديد أي من هذه القيم هما أكبر. ذلك شيء واحد كنت تريد القيام به هو اتخاذ هذه المنطقة الزرقاء ومجرد تحريكه أكثر من هنا حتى تتمكن ويمكن مقارنة هذه الجانبيين إلى جنب. وانا اعتقد ان هذا شيء أنا لم يكن لديك الوقت للقيام في الوقت الراهن، ولكن هذا أيضا من السهل جدا القيام به. يمكنك أن تبحث فقط في الصفحات رجل ggplot. بحيث يمكنك فقط لا ggplot مثل أن وقراءة في هذه الصفحة رجل. لذلك اسمحوا لي بسرعة فقط تظهر لك بعض الأشياء باردة. دعونا نمضي قدما ويذهب علي: وفقط تطبيق تعلم الآلة. لذلك دعونا نقول لدينا هؤلاء الثلاثة حزم لذلك أنا ذاهب لتحميل هذه في. لذلك هذا يطبع للتو بعض المعلومات بعد أن تم تحميله في شيء. لذلك أنا أقول ذلك read.csv، هذه البينات، والآن انا ذاهب الى المضي قدما والبحث و ترى ما هو داخل هذه البينات. ولذلك فإن الملاحظات 20 الأولى. لذلك أنا فقط X1، X2، وY. لذلك يبدو مثل حفنة من هذه القيم وبدءا من ربما 20-80 أو نحو ذلك. ثم بالمثل لX2 ثم يبدو هذا Y ليكون علامة مميزة 0 و 1. للتحقق من ذلك، يمكنني مجرد القيام X1 بيانات التلخيص. ثم بالمثل ل كل هذه الأعمدة الأخرى. ذلك ملخص هو طريقة سريعة ل فقط يظهر لك القيم سريعة. أوه، آسف. وينبغي أن يكون هذا واحد Y. حتى في هذه الحالة، ويعطي quantiles، الوساطات، maxes كذلك. في هذه الحالة، dataY، يمكنك ان ترى أنه مجرد سيكون 0 و 1. كما يعني يقول 0.6، يعني فقط أنه يبدو أن لدي المزيد من 1S من 0S. لذلك اسمحوا لي المضي قدما وعرض لك ما يبدو هذا مثل. لذلك أنا ذاهب لمجرد رسم هذا. دعونا نرى كيفية مسح هذا. يا OK. موافق. لذلك هذا هو ما يبدو. لذلك يبدو مثل الأصفر I محدد ك 0، ثم الأحمر I على النحو المحدد 1S. حتى هنا يبدو نقطة التسمية وذلك يبدو انك تريد فقط بعض نوع من التجميع على هذا. واسمحوا لي فقط على المضي قدما وعرض لكم بعض من هذه الوظائف المضمنة. حتى هنا هو ل م. لذلك هذا هو مجرد محاولة لتتناسب مع خط لهذا. إذن ما هو أفضل وسيلة أستطيع أن تناسب خط مثل أنه سيفصل أفضل هذا النوع من المجموعات. وبشكل مثالي، يمكنك ان ترى فقط أنني مجرد تشغيل جميع هذه الأوامر وبعد ذلك، انا ذاهب إلى الأمام وإضافة سطر. ولذلك فإن هذا يبدو وكأنه أفضل تخمين. انها تأخذ أفضل واحد أن يقلل الخطأ في محاولة لاحتواء هذا الخط. من الواضح، وهذا يبدو نوع من جيدة، ولكنها ليست الأفضل. والنماذج الخطية، في عموما، سوف تكون عظيم حقا للنظرية ومجرد نوع بناء أساسيات الجهاز تعلم. ولكن في الممارسة العملية، وأنت تسير ل تريد أن تفعل شيئا أكثر عمومية. حتى تتمكن من مجرد محاولة تشغيل شيء يسمى الشبكة العصبية. هذه الأمور هي على نحو متزايد أكثر شيوعا. وأنها مجرد عمل خيالي لمجموعات البيانات الكبيرة. حتى في هذه الحالة، فإننا have-- فقط دعونا see-- لدينا nrow. حتى nrow هو مجرد يقول عدد من الصفوف. حتى في هذه الحالة، وأنا لدينا 100 الملاحظات. لذلك اسمحوا لي المضي قدما و جعل الشبكة العصبية. لذلك هذا هو لطيف لأنني لا أستطيع أن أقول nnet ثم أنا تتراجع Y. لذلك Y هو أن العمود. ومن ثم تتراجع على الأخريين المتغيرات. لذلك هذا هو أقصر تدوين لX1 و X2. لذلك دعونا المضي قدما وتشغيل هذا. أوه، آسف. ولست بحاجة لتشغيل هذا كل شيء. وهذا هو مجرد طباعة التدوين لكيفية بسرعة أم لا سرعان ما المتقاربة. لذلك يبدو أنه لم تتلاقى. لذلك اسمحوا لي المضي قدما والطباعة ما يبدو هذا مثل. نرى هنا صورة وهنا كفاف تظهر مدى تناسبها. وهذا هو just-- ترون ذلك أن هذا هو جدا، لطيفة جدا. ويمكن أن يكون حتى overfitting، ولكن يمكنك أيضا تمثل هذه مع الآخر تقنيات مثل عبر التحقق من الصحة. ويتم بناؤها هذه أيضا إلى R. واسمحوا لي أن تظهر لك فقط دعم آلة ناقلات الأمراض. هذا هو آخر شائع حقا التقنية في تعلم الآلة. وهو مشابه جدا لالنماذج الخطية، ولكن ويستخدم ما يسمى طريقة النواة. ودعونا نرى جيدا كيف أن يفعل. لذلك هذا هو واحد تشبه الى حد بعيد كيف كذلك يؤدي شبكة العصبية، ولكن من سلاسة أكثر من ذلك بكثير. ويستند هذا الخروج من what-- كيف العمل SVMs. لذلك هذا هو مجرد جدا نظرة سريعة على بعض وظائف المدمج في يمكنك القيام به وأيضا بعض من استكشاف البيانات. لذلك اسمحوا لي فقط على المضي قدما ونعود إلى الشرائح. لذلك من الواضح، وهذا هو ليس شاملا جدا. وهذا هو في الحقيقة مجرد دعابة يظهر لك ما يمكنك القيام به حقا في R. حتى إذا كنت مثل لمعرفة المزيد، هنا هي مجموعة من موارد مختلفة. لذلك إذا كنت مولعا الكتب المدرسية أو كنت فقط مولعا بقراءة الأشياء عبر الإنترنت، ثم وهذا هو رائع واحدا تلو هادلي ويكهام، الذي خلق كل هذه أيضا حزم باردة حقا. إذا كنت مولعا من أشرطة الفيديو، ثم بيركلي لديه بووتكمب رهيبة هذا several-- هذا النوع من فترة طويلة. وسوف يعلمك تقريبا كل ما تريد معرفته عن R. وبالمثل، هناك Codeacademy وجميع هذه نوع آخر مواقع تفاعلية. انهم يحصلون أيضا common-- أكثر وأكثر شيوعا. لذلك هذا هو مشابه جدا لCodeacademy. وأخيرا، إذا كنت فقط أريد المجتمع ومساعدة، هذه هي مجموعة من الأشياء التي يمكن أن تذهب إليه. من الواضح، أننا لا نزال استخدام القوائم البريدية، فقط مثل كل جانب تقريبا من الآخر المجتمع لغة البرمجة. و#rstats، وهذا هو مجتمعنا تويتر. وهذا في الواقع أمر شائع جدا. ومن ثم العضو! هو فقط لدينا مؤتمر. وبعد ذلك، بالطبع، يمكنك استخدام كل هذه Q & A أمور أخرى، مثل تجاوز المكدس، جوجل، ثم جيثب. لأن معظم هذه الحزم والكثير من المجتمع سيتم تتمحور حول تطوير كود لأنه مفتوح المصدر. وانها مجرد طيف على جيثب. وأخيرا، يمكنك الاتصال بي إذا لديك فقط أي أسئلة سريعة. لذلك يمكنك أن تجد لي على تويتر هنا، موقع الويب الخاص بي، ومجرد بريدي الإلكتروني. لذلك نأمل، وكان ذلك something-- مجرد دعابة قصيرة ما R قادر حقا على القيام. ونأمل، أنت فقط تحقق من هذه الروابط الثلاث ونرى ما يمكنك القيام به أكثر من ذلك. وانا اعتقد ان هذا مجرد حيال ذلك. شكر. [تصفيق]