CONNOR HARRIS: ฉันยังคง คิดว่าบางวิดีโอที่น่าตื่นเต้น
ที่ผลิตโดยมืออาชีพให้คำปรึกษา ที่ใช้ R มากในการทำงานของมัน
>> เล่าเรื่อง: สิ่งที่อยู่เบื้องหลังสถิติ การวิเคราะห์และการสร้างภาพ
ข้อมูลที่นักวิทยาศาสตร์ในปัจจุบันที่มีความสว่าง และผู้นำทางธุรกิจพึ่งพา
ในการตัดสินใจที่มีประสิทธิภาพ?
คุณอาจจะไม่เคยเห็นมัน
แต่มันก็มี
มันเรียกว่าอาร์โอเพนซอร์ส R-- การเขียนโปรแกรมภาษาทางสถิติ
ที่ผู้เชี่ยวชาญด้านข้อมูลโลก มากกว่าการใช้สำหรับทุกอย่าง
จากการทำแผนที่ทางสังคมในวงกว้าง และแนวโน้มการตลาดออนไลน์
เพื่อการพัฒนาทางการเงินและสภาพภูมิอากาศ ที่ช่วยผลักดันเศรษฐกิจของเรา
และชุมชน
>> แต่สิ่งที่แน่นอนคือ R และสถานที่ที่ไม่ R เริ่มต้นอย่างไร
ดีเดิม R เริ่มต้น ที่นี่มีสองอาจารย์
ที่ต้องการที่ดีกว่าสถิติ แพลตฟอร์มสำหรับนักเรียนของพวกเขา
ดังนั้นพวกเขาจึงสร้างรูปแบบหนึ่ง หลังจากที่ภาษาทางสถิติเอส
พวกเขาพร้อมกับคนอื่น ๆ เก็บไว้ที่ทำงานเกี่ยวกับการใช้ R,
การสร้างเครื่องมือสำหรับการวิจัยและการหา โปรแกรมใหม่สำหรับ R ทุกวัน
>> ขอขอบคุณที่นี้คือ ความพยายามของชุมชนทั่วโลก
R ยังคงเพิ่มขึ้นเรื่อย ๆ ที่มีมากมาย ของห้องสมุดที่ผู้ใช้สร้างที่สร้างขึ้น
เพื่อเพิ่มประสิทธิภาพการทำงานและการวิจัย การตรวจสอบคุณภาพของฝูงชนที่มา
และการสนับสนุนจากได้รับการยอมรับมากที่สุด ผู้นำในอุตสาหกรรมในทุกสาขาที่
ใช้อาร์ซึ่งเป็นที่ดีเพราะ R คือที่ดีที่สุดในสิ่งที่มันไม่
รุ่นผู้เชี่ยวชาญได้อย่างรวดเร็วและ ได้อย่างง่ายดายตีความโต้ตอบกับ
และเห็นภาพการแสดงของพวกเขาข้อมูลอย่างรวดเร็ว ชุมชนที่กำลังเติบโตของผู้ใช้ R ทั่วโลก
และดูว่าโอเพนซอร์ส R ยังคงรูปร่าง
อนาคตของสถ​​ิติ การวิเคราะห์ข้อมูลและวิทยาศาสตร์
>> CONNOR HARRIS: ตกลงที่ดี
ดังนั้นการนำเสนอของตัวเอง จะเป็นบิตสติ
มันจะไม่เกี่ยวข้องกับการที่มาก เพลงพื้นหลังที่น่าตื่นเต้น
แต่เท่าที่เห็นในวิดีโอ R คือการจัดเรียง วัตถุประสงค์ของภาษาโปรแกรมทั่วไป
แต่มันถูกสร้างขึ้นส่วนใหญ่ สำหรับการทำงานทางสถิติ
>> ดังนั้นจึงได้รับการออกแบบสำหรับสถิติ ในการวิเคราะห์ข้อมูลสำหรับการทำเหมืองข้อมูล
และเพื่อให้คุณสามารถมองเห็นได้ในจำนวนมาก ตัวเลือกการออกแบบที่ผู้ผลิตของ R
ทำ
มันออกแบบมาสำหรับส่วนใหญ่ คนที่ไม่ได้
ผู้เชี่ยวชาญในการเขียนโปรแกรมที่ เป็นเพียงการหยิบขึ้นมาเขียนโปรแกรม
ด้านข้างเพื่อให้พวกเขาสามารถทำผลงานของพวกเขา ในสาขาวิทยาศาสตร์ทางสังคมหรือในสถิติ
หรืออะไรก็ตาม
>> แต่ก็มีจำนวนมากมาก ความแตกต่างที่สำคัญจากซี
แต่ไวยากรณ์และกระบวนทัศน์ การที่จะใช้เป็นวงกว้างเช่นเดียวกัน
และคุณควรจะรู้สึกสวย มากที่บ้านทันทีทันใด
มันเป็นภาษาที่จำเป็น
>> ไม่ต้องกังวลมากเกินไปเกี่ยวกับว่า ถ้าคุณไม่ทราบว่าคำว่า
แต่มีความแตกต่าง ระหว่างความจำเป็นที่เปิดเผย
และการทำงาน
ความจำเป็นก็หมายความว่าคุณทำ งบที่มีพื้นคำสั่ง
และแล้วล่ามหรือ คอมพิวเตอร์ต่อไปนี้พวกเขาหนึ่งโดยหนึ่ง
มันพิมพ์ที่ไม่ค่อยมี ไม่มีการประกาศพิมพ์ในอาร์
>> และแล้วเส้น ระหว่างประเภทต่างๆ
เป็นบิตหลวมมากกว่า พวกเขาอยู่ใน C เช่น
และที่ผมกล่าวว่ามี สิ่งอำนวยความสะดวกที่กว้างขวางมาก
สำหรับกราฟสำหรับสถิติ การวิเคราะห์ข้อมูลสำหรับการทำเหมือง
เหล่านี้มีทั้งที่สร้างขึ้นใน ภาษาและเป็นวิดีโอดังกล่าว
พันของห้องสมุดบุคคลที่สามที่ คุณสามารถดาวน์โหลดและใช้ค่าใช้จ่าย
ที่มีเงื่อนไขใบอนุญาตหลวมมาก
>> ดังนั้นโดยทั่วไปผมอยากแนะนำ ให้คุณดูที่หนังสือสองเล่มนี้
ถ้าคุณกำลังจะไปทำงานในอาร์หนึ่ง ในนั้นคือการเริ่มต้นอย่างเป็นทางการวิจัยของ
แนะนำ
มันดูแลโดย นักพัฒนาหลักของอาร์
คุณสามารถดาวน์โหลดได้อีกครั้งฟรี คิดค่าบริการและถูกต้องตามกฎหมายที่ว่ามีการเชื่อมโยง
ภาพนิ่งทั้งหมดเหล่านี้จะไป ขึ้นบนอินเทอร์เน็ตในเว็บไซต์ CS50
หลังจากนี้จะทำ
จึงไม่จำเป็นที่จะคัดลอก สิ่งที่ลงเมามัน
>> คนอื่น ๆ ที่เป็น ตำราเรียนโดย Cosma Shalizi,
ซึ่งเป็นสถิติที่ศาสตราจารย์ Carnegie Mellon เรียกข้อมูลขั้นสูง
การวิเคราะห์จาก ประถมศึกษามุมมอง
นี้ไม่ได้เป็นใหญ่เป็นหนังสือที่ R
มันเป็นหนังสือสถิติและ มันเป็นหนังสือที่วิเคราะห์ข้อมูล
แต่มันก็สามารถเข้าถึงได้มากให้กับผู้ที่ มีจำนวนเล็กน้อยของสถ​​ิติความรู้
>> ฉันไม่เคยดำเนินการอย่างเป็นทางการแน่นอน
ผมเพิ่งรู้ว่าบิตและชิ้นส่วน จากอาสาสมัครพันธมิตรต่างๆ
ที่ผมได้นำหลักสูตร
และฉันก็สามารถที่จะเข้าใจ มันสมบูรณ์ดี
>> ตัวเลขทั้งหมดจะได้รับ ในอาร์พวกเขาจะทำในการวิจัย
และพวกเขายังมีรายชื่อรหัส ด้านล่างรูปแต่ละที่บอก
วิธีการที่คุณทำในแต่ละรูปที่มีรหัส R
และที่มีประโยชน์มากหาก คุณกำลังพยายามที่จะเลียนแบบ
ร่างบางอย่างที่คุณเห็นในหนังสือ
>> และอีกครั้งฟรีดาวน์โหลด stat.cmu.edu/cshalizi/ ขออภัย
ที่ควรจะเฉือนหนอน cshalizi
ฉันจะให้แน่ใจว่าจะแก้ไขให้ถูกต้องว่า เมื่อภาพนิ่งอย่างเป็นทางการขึ้นไป
/ ADAfaEPoV ซึ่งเป็นเพียง ตัวย่อของชื่อหนังสือเล่มนี้
>> ดังนั้นทั่วไป caveats-- R มีจำนวนมากของความสามารถ
ฉันก็แค่จะสามารถที่จะครอบคลุม พื้นผิวของสิ่งต่างๆมากมาย
นอกจากนี้ในส่วนแรกของการสัมมนา เป็นไปได้บางสิ่งบางอย่างของข้อมูลที่ถ่ายโอนข้อมูล
ผมค่อนข้างขออภัยเกี่ยวกับที่
โดยทั่วไปฉันกำลังจะไป แนะนำคุณกับสิ่งต่างๆมากมาย
ขวาปิดค้างคาวไป เร็วที่สุดเท่าที่จะทำได้.
และจากนั้นเราจะได้รับการ ส่วนที่สนุกซึ่งเป็น
สาธิตที่ฉันสามารถแสดงให้คุณทุกอย่าง ที่เราได้พูดคุยเกี่ยวกับบนหน้าจอ
และคุณสามารถเล่นรอบด้วยตัวคุณเอง
จึงมีเป็นไปได้มาก สิ่งที่ทางเทคนิคโยนขึ้นไปบนที่นี่
ไม่ต้องกังวลกับสิ่งที่คัดลอกลง
เพราะคุณจะได้รับทั้งหมด สิ่งที่อยู่บนเว็บไซต์ CS50 ในภายหลัง
และ B มันไม่ได้จริงๆสิ่งสำคัญที่ การจดจำจากภาพนิ่ง
มันเป็นสิ่งสำคัญมากที่คุณจะได้รับ บางสถานที่ใช้งานง่ายกับมัน
และที่มาจากการเล่นรอบ
>> เหตุใดจึงต้องใช้ R?
โดยทั่วไปถ้าคุณมีโครงการที่ ที่เกี่ยวข้องกับการทำเหมืองแร่ชุดข้อมูลขนาดใหญ่ข้อมูล
การสร้างภาพคุณ ควรใช้อาร์หากคุณ
ทำวิเคราะห์ทางสถิติที่ซับซ้อน ที่จะเป็นเรื่องยากที่จะใน Excel
ยกตัวอย่างเช่นมันจะ นอกจากนี้ยังได้รับการ good-- ยัง
ถ้าคุณกำลังทำสถิติ การวิเคราะห์ที่อัตโนมัติ
สมมติว่าคุณกำลังบำรุงรักษาเว็บไซต์
และคุณต้องการที่จะอ่านบันทึกของเซิร์ฟเวอร์ ทุกวันและรวบรวมรายชื่อบางส่วน
เช่นเดียวกับประเทศในด้านบนที่ ผู้ใช้ของคุณจะมาจาก
บางสถิติสรุปอยู่กับระยะเวลา พวกเขาใช้จ่ายในเว็บไซต์ของคุณหรืออะไรก็ตาม
และคุณต้องการที่จะทำงานนี้ทุกวัน
>> ตอนนี้ถ้าคุณกำลังทำเช่นนี้ใน Excel คุณจะต้องไปที่เข้าสู่ระบบเซิร์ฟเวอร์ของคุณ
นำเข้าที่เป็น กระดาษคำนวณ Excel ข้อมูล
ทำงานตลอดการวิเคราะห์ด้วยตนเอง
ด้วย R, คุณก็สามารถเขียนสคริปต์หนึ่ง
กำหนดเวลาที่จะทำงานทุกวัน จากระบบปฏิบัติการของคุณ
และแล้วคืนที่ 02:00 ทุก หรือเมื่อใดก็ตามที่คุณกำหนดเวลาในการทำงาน
มันจะมองผ่านของคุณ การจราจรทางอินเทอร์เน็ตในวันนั้น
และจากนั้นในวันรุ่งขึ้นคุณจะ มีเงานี้รายงานฉบับใหม่
หรืออะไรก็ตามที่มีทั้งหมดของ ข้อมูลที่คุณถามหา
>> ดังนั้นโดยทั่วไป R สำหรับซิสโก้ เมื่อเทียบกับการเขียนโปรแกรมการวิเคราะห์ของซิสโก้
เบื้องต้นจะทำ
ขอได้รับในสิ่งที่เป็นจริง
ดังนั้นมีสามจริง ประเภทในภาษา
มีชนิดเป็นตัวเลข
มีการเรียงลำดับของความแตกต่างระหว่างเป็น จำนวนเต็มและจุดลอย
แต่ไม่ได้จริงๆ
มีตัวละครเป็น ประเภทซึ่งเป็นสาย
และมีตรรกะ ประเภทซึ่งเป็น Booleans
>> และคุณสามารถแปลงระหว่างประเภท โดยใช้ฟังก์ชันเหล่านี้เป็นตัวเลข
เป็นตัวละครเป็นตรรกะ
ถ้าคุณเรียกตัวอย่างเช่น เป็นตัวเลขในสตริง
ก็จะพยายามที่จะอ่านสตริงที่ เป็นตัวเลขทางเดียวกัน
ที่ a2i และ scanf ทำและถ้าซี คุณเรียกว่าเป็นตัวเลขในจริงหรือเท็จ
มันจะแปลงเป็น 1 หรือ 0
ถ้าคุณเรียกเป็นตัวอักษร ในสิ่งที่มันจะ
แปลงที่เป็น แสดงสตริง
>> แล้วมีเวกเตอร์และการฝึกอบรม
ดังนั้นเวกเตอร์พื้น อาร์เรย์ 1 มิติ
พวกเขาเป็นสิ่งที่เราเรียกในอาร์เรย์ ซีเมทริกซ์ 2 มิติอาร์เรย์
และจากนั้นก็สูงขึ้น อาร์เรย์มิติที่คุณสามารถ
มี 3, 4, 5 มิติหรืออะไรก็ตาม ของค่าตัวเลขของสตริง
ของค่าตรรกะ
>> นอกจากนี้คุณยังมีรายการที่มี ชนิดของอาเรย์
ฉันจะได้รับเป็นที่เล็กน้อย
ดังนั้นสิ่งหนึ่งที่สำคัญ ที่เดินทางคนขึ้นไปในการวิจัย
คือว่าไม่มี จริงอะตอมชนิดที่บริสุทธิ์
ไม่มีความแตกต่างที่เกิดขึ้นจริงระหว่างเป็น จำนวนเช่นค่าตัวเลข
และรายชื่อของค่าตัวเลข
ค่าที่เป็นตัวเลขจริง เช่นเดียวกับเวกเตอร์ของความยาว 1
และนี้มีจำนวนของ นัยสำคัญ
หนึ่งก็หมายความว่าคุณสามารถทำ สิ่งที่ได้อย่างง่ายดายมากที่เกี่ยวข้องกับการ
เช่นการเพิ่มจำนวนที่จะเวกเตอร์
R จะร่างโดยทั่วไป สิ่งที่คุณหมายถึงว่า
และผมจะไปที่ในครั้งที่สอง
ก็หมายความว่าไม่มีทาง สำหรับประเภท checker-- เท่า
ว่าสิ่งที่ต้องการที่ ที่มีอยู่ใน R-- ที่จะบอก
เมื่อคุณได้ผ่านไปในค่าเดียว เมื่อคาดว่าอาร์เรย์หรือในทางกลับกัน
และที่สามารถทำให้บางแปลก ปัญหาที่ฉันวิ่งเข้าไปในเมื่อ
ผมใช้ R ในช่วงฤดู​​ร้อนของฉันงาน
และไม่มีอาร์เรย์ผสมชนิด
ดังนั้นคุณไม่สามารถมีอาร์เรย์เป็น องค์ประกอบแรกคือผมไม่ทราบว่า
สตริง "จอห์น" และ องค์ประกอบที่สองคือหมายเลข 42
ถ้าคุณพยายามที่จะทำอย่างนั้นแล้วคุณจะได้รับ ทุกอย่างเพียงแปลงสตริง
ดังนั้นเราจึงมีจอห์นสตริงสตริง 42
>> ประโยคที่ผิดปกติดังนั้น features-- มากที่สุด ไวยากรณ์ของ R จะคล้ายกับซี
มีความแตกต่างที่สำคัญบางประการ
พิมพ์ดีดอ่อนแอมาก
ดังนั้นจึงไม่มีการประกาศตัวแปร
การกำหนดใช้แปลก ผู้ประกอบการมีข้อผิดพลาดน้อยกว่ายัติภังค์
ความคิดเห็นที่มีเครื่องหมายกัญชา
ผมคิดว่าวันนี้เราเรียกว่า hashtag แต่ที่ไม่ได้จริงๆไม่แม่นยำ
เฉือนคู่
>> Modular ตกค้างอยู่กับสัญญาณ %%
ส่วนจำนวนเต็มอยู่กับ% /% ซึ่งเป็น ยากมากที่จะอ่านเมื่อมันคาดการณ์
ขึ้นบนหน้าจอ
คุณจะได้รับช่วงของ จำนวนเต็มกับลำไส้ใหญ่
ดังนั้น 2,5 จะทำให้คุณเวกเตอร์ ของตัวเลขทั้งหมด 2 ถึง 5
>> อาร์เรย์เป็นหนึ่งในการจัดทำดัชนี, สกรูที่ผู้คนจำนวนมาก
ถ้าพวกเขากำลังจาก การเขียนโปรแกรมภาษาทั่วไป
เช่น C ที่มากที่สุด สิ่งที่จะเป็นศูนย์การจัดทำดัชนี
อีกครั้งนี้เป็นมรดกทางวัฒนธรรมที่อาร์เอส เป็นภาษาที่เหมือนไม่ได้เป็น
โปรแกรมเมอร์มืออาชีพมาใน
หากคุณเป็นนักสังคมวิทยาหรือ นักเศรษฐศาสตร์หรือสิ่งที่
และคุณกำลังพยายามที่จะใช้ R โดยทั่วไปเป็นสิ่งที่แนบ
เพื่อให้ความสำคัญมากขึ้นของคุณ การทำงานของมืออาชีพ
คุณกำลังจะไปหา หนึ่งในการจัดทำดัชนีบิตเป็นธรรมชาติมากขึ้น
เพราะคุณเริ่มนับ ณ วันที่ 1 ในชีวิตประจำวันไม่ได้ 0
>> สำหรับลูปนี้จะคล้ายกับ foreach สร้างใน PHP
ซึ่งคุณจะได้รับ เรียนรู้ in-- สวยเร็ว ๆ นี้
ซึ่งเป็นค่าในเวกเตอร์และ จากนั้นคุณสามารถทำสิ่งที่มีค่า
ผู้ชม: นั่นคือการเกิดขึ้นในการบรรยาย
CONNOR HARRIS: โอ้ที่ มาบรรยายที่ยอดเยี่ยม
ผู้ชม: ได้รับมอบหมายก็คือ ควรจะชี้จากขวาไปซ้าย?
CONNOR HARRIS: จากขวาไปซ้ายใช่
คุณสามารถคิดว่ามันเป็นค่าที่ ที่เหมาะสมผลักเข้าไปในตัวแปร
ทางซ้าย.
ผู้ชม: ตกลง
>> CONNOR HARRIS: และในที่สุด ไวยากรณ์ฟังก์ชั่นเป็นบิตแปลก
คุณมีชื่อฟังก์ชัน foo ที่ได้รับมอบหมาย ฟังก์ชั่นนี้คำหลักตาม
โดยข้อโต้แย้งทั้งหมดแล้ว การทำงานของร่างกายหลังจากนั้น
อีกครั้งสิ่งเหล่านี้อาจ ดูเหมือนบิตแปลก
พวกเขาจะกลายเป็นธรรมชาติที่สองหลังจากที่ คุณทำงานกับภาษาสำหรับบิต
ดังนั้นเวกเตอร์ทาง คุณสร้างเวกเตอร์
คุณเป็นประเภท C ซึ่งเป็นคำหลักที่แล้ว ตัวเลขทั้งหมดที่คุณต้องการหรือสตริง
หรืออะไรก็ตาม
ข้อโต้แย้งที่ยังเวกเตอร์
แต่ส่งผลให้อาเรย์ที่ได้รับการแบน
ดังนั้นคุณไม่สามารถมีอาร์เรย์ที่ องค์ประกอบบางส่วนเป็นตัวเลขเดียว
และองค์ประกอบบางอย่างที่ตัวเองอาร์เรย์
>> ดังนั้นถ้าคุณพยายามที่จะสร้าง อาร์เรย์เป็นองค์ประกอบแรกคือ 4
และองค์ประกอบที่สอง เป็น 3,5 อาร์เรย์ที่คุณจะ
เพิ่งได้รับอาร์เรย์สามองค์ประกอบ 4,3,5
พวกเขาไม่สามารถเป็นชนิดผสม
ถ้าคุณพยายามที่จะอ่านหรือเขียน นอกขอบเขตของเวกเตอร์
คุณจะได้รับค่านี้เรียกว่า NA ซึ่งหมายถึงค่าที่ขาดหายไป
และนี้มีไว้สำหรับ เช่นสถิติที่
กำลังทำงานกับชุดข้อมูลที่ไม่สมบูรณ์
>> ถ้าคุณใช้ฟังก์ชั่นที่ควร ใช้เวลาเพียงจำนวนหนึ่งไปยังอาร์เรย์
แล้วสิ่งที่คุณจะได้รับคือ ฟังก์ชั่นแผนที่จะมากกว่าอาร์เรย์
ดังนั้นหากการทำงานของคุณสมมุติว่าใช้เวลา จำนวนและผลตอบแทนมันตาราง
คุณใช้อาร์เรย์ที่ 2,3,5 สิ่งที่คุณจะได้รับคืออาร์เรย์ 4,9,25
>> และที่มีประโยชน์มาก เพราะมันหมายความว่าคุณ
ไม่ได้มีการเขียนสำหรับลูปสำหรับ ทำสิ่งที่ง่ายมากเช่นการใช้
ฟังก์ชั่นให้กับสมาชิกทั้งหมดของชุดข้อมูล
ซึ่งถ้าคุณกำลังทำงานกับที่มีขนาดใหญ่ ชุดข้อมูลที่คุณต้องทำมาก
ฟังก์ชั่นไบนารี รายการที่ใช้โดยรายการ
ฉันจะได้รับเป็นที่
คุณสามารถเข้าถึงพวกเขาด้วยอาร์เรย์ หรือเวกเตอร์ที่มีวงเล็บ
ชื่อเวกเตอร์ดังนั้นวงเล็บ 1 จะทำให้คุณมีองค์ประกอบแรก
ชื่อเวกเตอร์วงเล็บ 2 จะทำให้คุณมีองค์ประกอบที่สอง
>> คุณสามารถส่งผ่านเวกเตอร์ ของดัชนีและคุณจะ
ได้รับกลับออกมาโดยทั่วไปเป็นปัจจัยย่อย
เพื่อให้คุณสามารถทำเวกเตอร์ชื่อวงเล็บ C, 2,4 และคุณจะได้รับการออกแบบเวกเตอร์ที่มี
ที่สองและสี่ องค์ประกอบของอาร์เรย์
และถ้าคุณต้องการเพียง สถิติสรุปอย่างรวดเร็ว
เวกเตอร์เช่น interquartile ช่วงเฉลี่ยสูงสุดใด
คุณก็สามารถพิมพ์สรุป ชื่อเวกเตอร์และได้รับการออก
นั่นคือไม่ได้มีประโยชน์จริงๆ การเขียนโปรแกรม แต่ถ้าคุณกำลังเล่น
รอบชุดข้อมูลที่เป็นประโยชน์
>> Matrices-- พื้น อาร์เรย์มิติที่สูงขึ้น
พวกเขามีไวยากรณ์สัญกรณ์พิเศษนี้
เมทริกซ์กับอาร์เรย์ที่ได้รับ ที่เต็มไปด้วย in-- ขออภัยเมทริกซ์ที่มีข้อมูล
จำนวนแถวจำนวนของคอลัมน์
เมื่อคุณมีข้อมูลบางอย่างก็เติมใน อาร์เรย์โดยทั่วไปจะบนลงล่าง
เป็นครั้งแรก
แล้วจากซ้ายไปขวา
ดังนั้นเช่นนั้น
และ R ได้สร้างขึ้นใน คูณเมทริกซ์
การสลายตัวสเปกตรัม diagonalization, สิ่งต่างๆมากมาย
ถ้าคุณต้องการมิติที่สูงขึ้น อาร์เรย์ดังนั้น 3, 4, 5,
หรือสิ่งที่ขนาดที่คุณสามารถทำได้
ไวยากรณ์สลัวอาร์เรย์เท่ากับ C, แล้วรายการของมิติที่
ดังนั้นหากคุณต้องการอาร์เรย์มิติ 4 ที่มีขนาด 4, 7, 8, 9, อาร์เรย์
สลัวเท่ากับค (4,7,8,9)
>> คุณสามารถเข้าถึงค่าเดียวที่มีวงเล็บ รายการแรกจุลภาครายการที่สอง
คุณจะได้รับทั้งชิ้น แถวหรือคอลัมน์
ด้วยไวยากรณ์ที่ไม่สมบูรณ์นี้ก็ เพียงแถวจำนวนจุลภาคหรือคอลัมน์จุลภาค
จำนวน.
ดังนั้นรายการที่เป็นชนิดของอาร์เรย์ที่เกี่ยวข้อง
พวกเขามีไวยากรณ์ของตัวเองที่นี่
อีกครั้งไม่เมามัน คัดลอกทั้งหมดลงนี้
นี่เป็นเพียงเพื่อให้ผู้คน จะผ่านภาพนิ่งในภายหลัง
มีทั้งหมดนี้ในการอ้างอิงที่ดี
และนี้จะกลายเป็นที่ครั้งหนึ่งเคยเป็นธรรมชาติมาก ที่จริงผมเดินผ่านสาธิต
ดังนั้นแสดงรายการอาร์เรย์ที่เกี่ยวข้องโดยทั่วไป
คุณสามารถเข้าถึงค่ากับ ชื่อรายการเครื่องหมายดอลลาร์ที่สำคัญ
ดังนั้นถ้ารายการของคุณเป็นชื่อ foo, จากนั้นคุณสามารถเข้าถึงได้เช่นเดียวกับที่
คุณจะได้รับการจับคู่ค่าคีย์ทั้งหมด โดยผ่านในดัชนีวงเล็บสี่เหลี่ยม
ถ้าคุณอ่านจากที่ไม่มีอยู่จริง ที่สำคัญคุณจะได้รับ null
มันจะไม่เกิดข้อผิดพลาด
สิ่งที่เป็น R จะทำตามที่ มากกับ null เท่าที่จะสามารถ
และนี่อาจจะหมายถึงว่าถ้าคุณ ไม่ได้คาดหวังที่จะได้รับ null ออก
ของรายการอ่านบางอย่างที่คุณจะได้รับบางส่วน ข้อผิดพลาดที่ไม่สามารถคาดเดาต่อไปลง
เส้น.
>> เรื่องนี้เกิดขึ้นกับผมของฉัน งานฤดูร้อนเมื่อผมใช้ R
ที่ผมเปลี่ยนวิธีการบางอย่าง รายการถูกกำหนดในจุดหนึ่ง
แต่ไม่ได้มีการเปลี่ยนแปลงในภายหลัง โค้ดที่อ่านค่าจากมัน
ดังนั้นสิ่งที่เกิดขึ้นคือผมเป็น การอ่านค่า null ออกจากรายการนี​​้
ผ่านพวกเขาเข้าไปในฟังก์ชั่น และความสับสนมาก
เมื่อฉันได้ทุกประเภท อนันต์สุ่มปลูกพืชขึ้น
ในฟังก์ชั่นนี้
เพราะถ้าคุณใช้บางอย่างสูงสุด หรือฟังก์ชั่นขั้นต่ำให้เป็นโมฆะ,
คุณจะได้รับค่าอนันต์ออก
>> เฟรมข้อมูลที่พวกเขากำลังรองของรายการ
ค่าทุกคนเป็นเวกเตอร์ ความยาวเดียวกัน
และพวกเขากำลังใช้สำหรับนำเสนอ โดยทั่วไปตารางข้อมูล
มีไวยากรณ์นี่คือการเริ่มต้น
ทั้งหมดนี้จะอีกครั้งจะมาก ชัดเจนเมื่อคุณได้รับการสาธิต
และสิ่งที่ดีเกี่ยวกับ เฟรมข้อมูลคือการที่คุณ
สามารถให้ชื่อคอลัมน์ทั้งหมด และชื่อที่จะแถวทั้งหมด
และเพื่อที่จะทำให้การเข้าถึง พวกเขาบิตมิตร
นอกจากนี้เป็นวิธีที่ฟังก์ชั่นมากที่สุดที่ อ่านข้อมูลจากกระดาษคำนวณ Excel
หรือจากไฟล์ข้อความที่ยกตัวอย่างเช่น จะอ่านข้อมูลของพวกเขา
พวกเขาจะใส่ลงใน การเรียงลำดับของกรอบข้อมูลบางส่วน
ดังนั้น functions-- ฟังก์ชั่น ไวยากรณ์เป็นบิตแปลก
อีกครั้งมันเป็นชื่อของฟังก์ชั่นที่ กำหนดฟังก์ชั่นคำหลักนี้แล้ว
รายการของการขัดแย้ง
จึงมีบางสิ่งบางอย่างที่ดี ฟังก์ชั่นเกี่ยวกับวิธีการทำงานที่นี่
หนึ่งคุณจริงสามารถกำหนด ค่าเริ่มต้นการขัดแย้งบางอย่าง
เพื่อให้คุณสามารถพูดได้ R1 equals-- ที่คุณสามารถพูด foo
เป็นหน้าที่ที่ R1 เท่ากับบางสิ่งบางอย่าง โดยค่าเริ่มต้นหากผู้ใช้ระบุ
ไม่มีข้อโต้แย้ง
มิฉะนั้นจะเป็นสิ่งที่เขาใส่ใน
และนี่คือที่มีประโยชน์มาก เพราะมากฟังก์ชั่นของเรา
มักจะมีหลายสิบหรือหลาย หลายร้อยของการขัดแย้ง
ตัวอย่างเช่นคนสำหรับการวางแผน หรือพล็อตกราฟแผนการกระจาย
มีข้อโต้แย้งที่มีการควบคุม ทุกอย่างจากชื่อและแกน
ฉลากสีของเส้นถดถอย
และดังนั้นหากคุณไม่ต้องการ ที่จะทำให้คนระบุ
ทุกหนึ่งเดียวของเหล่านี้ หลายร้อยของการขัดแย้ง
ควบคุมทุกแง่มุมเดียวของ พล็อตหรือการถดถอยหรืออะไรก็ตาม
มันเป็นเรื่องดีที่จะมีค่าเริ่มต้นเหล่านี้
>> และจากนั้นคุณสามารถจริง เขียนตามที่คุณเห็นกลับมาที่นี่
หรือหาตัวอย่างที่ดี
เมื่อคุณฟังก์ชั่นโทรหาคุณสามารถจริง เรียกพวกเขาใช้ชื่อการโต้แย้ง
ดังนั้นนี่คือตัวอย่างของ ตัวสร้างเมทริกซ์
มันต้องใช้เวลาสามข้อโต้แย้ง
โดยปกติแล้วคุณมีข้อมูล ซึ่งเป็นเวกเตอร์
คุณมีแถวยังไม่มีข้อความที่ เป็นจำนวนแถว
คุณต้องไม่มี cols-- จำนวนของคอลัมน์
สิ่งที่เป็นถ้าคุณพิมพ์ แถวเท่ากับสิ่งที่ไม่มี
และไม่มีข้อความเทือกเขาเท่ากับสิ่งที่เมื่อ คุณกำลังเรียกฟังก์ชั่นนี้
คุณจริงสามารถกลับพวกเขา
ดังนั้นคุณสามารถใส่ไม่มีพเป็นครั้งแรกและยังไม่มีแถว ที่สองและมันจะทำให้ไม่แตกต่างกัน
เพื่อให้เป็นคุณลักษณะที่ดีน้อย
>> ไม่เข้าและส่งออก
ซึ่งสามารถทำได้โดยทั่วไป
นอกจากนี้ยังมีสิ่งอำนวยความสะดวกที่จะเขียนออกมา พล R วัตถุแฟ้มไบนารี
แล้วอ่านพวกเขากลับมาในภายหลัง
ซึ่งเป็นประโยชน์ถ้าคุณกำลังทำ เซสชั่นการโต้ตอบใหญ่ R
และคุณจำเป็นต้องบันทึก สิ่งที่ได้อย่างรวดเร็ว
โดยค่าเริ่มต้น R มีไดเรกทอรีการทำงาน ว่าไฟล์ที่ได้รับการเขียนออกไป
และอ่านกลับจาก
คุณจะเห็นว่ามี getwg เปลี่ยนมันด้วย setdw
ไม่มีอะไรที่น่าสนใจโดยเฉพาะอย่างยิ่งที่นี่
>> ดังนั้นตอนนี้สถิติที่เกิดขึ้นจริง stuff-- ถดถอย multilinear
ดังนั้นไวยากรณ์ปกติ เป็นบิตซับซ้อน
รุ่นที่เป็นวัตถุขนาดใหญ่โดยทั่วไป
จะได้รับการกำหนดให้กับ LM, ซึ่งเป็นฟังก์ชั่นการโทร
องค์ประกอบแรก, การ y ตัวหนอน x1 บวกสิ่งที่
ไวยากรณ์ของที่นี่คือบิตสับสน
ฉันขอโทษมากนี้ เป็นวิธีมาตรฐาน
หนังสือวิทยาศาสตร์คอมพิวเตอร์ที่ทำเช่นนี้
แต่มันเป็นบิตแปลก
>> ดังนั้นโดยทั่วไปก็ LM วงเล็บรายการแรก
เป็น variable-- ขออภัยขึ้น ตัวหนอนตัวแปร x1 x2 บวกบวก
อย่างไรก็ดีหลายคนที่เป็นอิสระ ตัวแปรที่คุณมี
และแล้วเหล่านี้สามารถเป็นได้ทั้ง เวกเตอร์ทั้งหมดที่ยาวเท่ากัน
หรือพวกเขาสามารถเป็นคอลัมน์ ส่วนหัวอยู่ในกรอบข้อมูล
ที่คุณเพิ่งระบุใน กรอบข้อมูลอาร์กิวเมนต์ที่สอง
>> นอกจากนี้คุณยังสามารถระบุ สูตรที่ซับซ้อนมากขึ้น
ดังนั้นคุณจึงไม่ต้องเป็นเส้นตรง ถอยหลังหนึ่งตัวแปรตาม
หรือหนึ่งในเวกเตอร์เวกเตอร์ที่มีอยู่ก่อน
คุณสามารถทำเช่น เวกเตอร์องค์ประกอบ y ที่สองบวก 1
และถอยหลังที่ต่อต้าน เข้าสู่ระบบของเวกเตอร์อื่น ๆ
คุณสามารถพิมพ์สรุปของ รุ่นที่มีคำสั่งนี้เรียกว่า
summary-- เพียงสรุป parens รูปแบบ
อีกครั้งอย่างอื่นที่ฉันควรจะชี้แจง
อย่างอื่นที่จะได้รับการแก้ไข เมื่อสไลด์ขึ้นไปบนอินเทอร์เน็ต
ถ้าคุณเพียงต้องการที่จะคำนวณ ความสัมพันธ์ที่เรียบง่าย
คุณสามารถใช้ความสัมพันธ์เวกเตอร์ 1 เวกเตอร์ 2 ฟังก์ชั่นหลัก
วิธีการคือการเริ่มต้น ความสัมพันธ์เพียร์สัน
เหล่านี้เป็นคนมาตรฐานที่คุณสามารถทำได้
นอกจากนี้ยังมีสเปียร์แมนและ ความสัมพันธ์ Kendell
ที่มีความหลากหลายของบางอย่าง ความสัมพันธ์ลำดับ
ดีที่พวกเขาไม่ได้คำนวณผลิตภัณฑ์ ช่วงเวลาระหว่างเวกเตอร์ของตัวเอง
แต่การสั่งซื้อการจัดอันดับของเวกเตอร์
ฉันจะอธิบายในภายหลังว่า
>> ผู้ชม: คำถามด่วน
>> CONNER HARRIS: Sure
>> ผู้ชม: ดังนั้นเมื่อคุณกำลังคำนวณ สำหรับความสัมพันธ์ที่เรียบง่ายทำ
คุณคิดว่ามีทางสถิติ ความสำคัญกับความสัมพันธ์?
CONNER HARRIS: คุณจะได้ไม่ต้อง
LM เป็นเพียงเครื่อง
มันจะใช้เวลาในสองสิ่ง และมันจะคายออก
ค่าสัมประสิทธิ์สำหรับสายแบบที่ดีที่สุด
นอกจากนี้ยังมีรายงานมาตรฐาน ข้อผิดพลาดในสัมประสิทธิ์เหล่านั้น
และมันจะบอกคุณเหมือนเป็น ตัดนัยสำคัญทางสถิติ
หรือแตกต่างจาก 0
เป็นความชันของที่ดีที่สุด เส้นพอดีทางสถิติ
แตกต่างจากศูนย์และอื่น ๆ
ดังนั้นจึงถือว่าไม่มีอะไรที่ผมคิดว่า คือคำตอบที่ดีที่สุดสำหรับคำถามของคุณ
ตกลง.
>> Plotting-- ดังนั้นเหตุผลหลักที่คุณควร ใช้ R เช่นการถดถอย multilinear
โดยทั่วไปทุกภาษา มีสถานที่บางที่
และไวยากรณ์สุจริต R สำหรับ การถดถอยเป็นบิตลับ
แต่พล็อตเป็นที่ที่มันจริงๆส่อง
>> ฟังก์ชั่นเทียมเป็นพล็อต และจะใช้เวลาสองเวกเตอร์, x และ y
และแล้ววงรีย่อมามาก จำนวนมากของการขัดแย้งที่ไม่จำเป็น
ควบคุมทุกอย่างจากชื่อสี ของสายต่างๆหรือจุดต่างๆ
ประเภทของพล็อต
คุณสามารถมีกระจาย แปลงหรือแปลงสาย
>> [ไม่ได้ยิน] 2 เวกเตอร์ ความยาวเดียวกัน
คุณสามารถนำหน้านี้กับแนบ กรอบข้อมูลที่อยู่ในสคริปต์ของคุณ
และสิ่งนี้จะช่วยให้คุณเพียงแค่ใช้คอลัมน์ ส่วนหัวแทนเวกเตอร์ที่แยกต่างหาก
คุณสามารถเพิ่มสายที่ดีที่สุดพอดีและท้องถิ่น เส้นโค้งการถดถอยกราฟของคุณ
>> คำสั่งเหล่านี้ระบุไว้ ที่นี่สายขและสาย
โดยเริ่มต้นเหล่านี้จะได้รับ เขียนลงในหน้าต่างป๊อปอัพ
เพราะสันนิษฐานว่า คุณกำลังใช้ R โต้ตอบ
หากคุณไม่ได้คุณสามารถ เขียนสองไฟล์ที่
จริงๆอยู่ในรูปแบบใด ๆ ที่คุณต้องการ
ขออภัยฉันมีคำสะกดผิดฉันก็ตระหนัก
หากคุณต้องการที่จะเปิด อุปกรณ์อื่นแบบกราฟิก
คุณสามารถใช้ฟังก์ชั่นที่เรียกว่า PNG หรือ JPEG หรือจำนวนมากของรูปแบบภาพอื่น ๆ
และคุณสามารถเขียนกราฟ ชื่อไฟล์ที่คุณระบุ
การยกเลิกการที่คุณจะต้อง use-- ผมไม่ได้เขียนใน slide--
แต่มีฟังก์ชั่นที่เรียกว่า dev จุดปิดที่เกิดการขัดแย้งใด
>> แล้วมีสิ่งอำนวยความสะดวก สำหรับพล็อต 3D
และพล็อตเส้น ถ้าคุณต้องการที่จะทำให้
กราฟของทั้งสองตัวแปรอิสระ
ฉันจะไม่ได้รับในเหล่านี้ทันที
>> นอกจากนี้ยังมีบางส่วน สิ่งอำนวยความสะดวกสำหรับการเคลื่อนไหว
ผู้ที่มักจะ การเก็บรักษาโดยบุคคลที่สาม
ฉันได้ทำภาพเคลื่อนไหวด้วยกราฟ R, แต่ฉันไม่ได้ใช้เหล่านี้บุคคลที่สาม
ห้องสมุด
ดังนั้นผมจึงไม่สามารถจริงๆยืนยัน วิธีการที่ดีที่พวกเขามี
สิ่งที่ผมขอแนะนำถ้าคุณต้องการ เพื่อให้ภาพเคลื่อนไหวโดยใช้ R
คือคุณสามารถเขียนออกทั้งหมดของ เฟรมสำหรับภาพเคลื่อนไหว
และจากนั้นคุณสามารถใช้ ของบุคคลที่สาม program--
คนทั่วไปจะเรียกว่า FFmpeg หรือ ImageMagick-- เพื่อตะเข็บ
ทุกเฟรมของคุณเป็นหนึ่งภาพเคลื่อนไหว
>> ดังนั้นเวลาสำหรับการสาธิต
ดังนั้นถ้าคุณกำลังใช้ระบบปฏิบัติการยูนิกซ์ใด ๆ เช่นระบบ ซึ่งเป็น BSD ลินุกซ์ แต่ที่ใช้ BSD
OS X เปิดหน้าต่าง terminal และ ประเภท R ที่พร้อมรับคำสั่ง
หากคุณมีสตูดิโอ R หรือ ชอบที่ยังใช้งานได้
สำหรับผู้ใช้ Windows คุณควรจะ สามารถที่จะหา R ในเมนูเริ่มต้นของคุณ
มันควรจะเรียกว่าบางสิ่งบางอย่าง เช่น R x 64 3 จุดสิ่งที่
ที่เปิดขึ้นที่นั่น
>> ดังนั้นตอนนี้ให้ฉันเพียงแค่ เปิดหน้าต่าง terminal
สิทธิ์การค้นหา
ผู้ชม: คำสั่งอวกาศ
CONNER HARRIS: คำสั่งอวกาศขอขอบคุณ
ฉันไม่ปกติใช้เครื่องแมค
เทอร์มิแสดงหน้าต่างใหม่
หน้าต่างใหม่คือการตั้งค่า พื้นฐานอาร์ดังนั้นคุณควรจะได้รับ
ข้อความต้อนรับบางสิ่งบางอย่างเช่นนี้
>> ดังนั้นฉันใช้ R โต้ตอบ
นอกจากนี้คุณยังสามารถเขียนสคริปต์ R แน่นอน
โดยทั่วไปเรียกใช้สคริปต์ วิธีเดียวที่แน่นอนเป็น
ถ้าคุณกำลังนั่งอยู่ที่เครื่องคอมพิวเตอร์ พิมพ์ในสายทุกคนได้ตลอดเวลา
เพื่อขอเริ่มต้นด้วยการทำให้เวกเตอร์
ลูกศร C 1, 2
1, 2, 4
ตกลงแน่นอน.
ฉันจะทำให้ขนาดตัวอักษรที่ใหญ่กว่า
>> ผู้ชม: คำสั่งพลัส
>> CONNER HARRIS: คำสั่ง-Plus
คำสั่งพลัส
สิทธิทั้งหมดวิธีการที่?
ดี?
ตกลง.
ดังนั้นขอเริ่มต้นด้วยการ ประกาศรายชื่อเวกเตอร์
อย่าให้ลูกศร, C 1,2,4
เราสามารถมองเห็น
ไม่ต้องกังวลเกี่ยวกับการมีวงเล็บ
วงเล็บเป็นดังนั้นหากคุณพิมพ์ออกมา อาร์เรย์นานมากที่เราสามารถที่ที่คุณอยู่
ตัวอย่างหนึ่งที่จะเป็นถ้าฉัน ต้องการเพียงแค่ช่วง 2-200
ถ้าผมพิมพ์มาก อาร์เรย์ยาววงเล็บ
เป็นเพียงเพื่อให้สามารถเก็บ ติดตามการที่ดัชนี
เราอยู่กับว่าฉันกำลังมองหา ผ่านสายตา
ดังนั้น แต่อย่างใดเรามี
>> ดังนั้นผมจึงกล่าวว่าก่อนที่จะอาร์เรย์ที่โต้ตอบ อย่างมากด้วยเช่น
การดำเนินงานเอกเช่นนี้
ดังนั้นสิ่งที่คุณคิดว่าฉันจะ ถ้าฉันได้รับการพิมพ์บวก 1?
อือ
ขวาตอนนี้ฉันจะทำให้ นี้อาร์เรย์ที่แตกต่างกัน
สมมติว่าข c 20,40, 80
ดังนั้นสิ่งที่คุณคิดว่า คำสั่งนี้จะทำอย่างไร
เพิ่มองค์ประกอบ
และโดยทั่วไปเพื่อให้เป็นสิ่งที่มันไม่
ดังนั้นนี่คือความสะดวกสบายสวย
ดังนั้นผมจึงวิธีการเกี่ยวกับที่ผมทำเช่นนี้ ค คือสมมติว่า 6 ครั้ง 1-10
ดังนั้นสิ่งที่ผมอยากเห็น มีคุณคิดว่า?
ดังนั้นหลายทั้งหมดหก
ตอนนี้สิ่งที่คุณคิดว่า ที่จะเกิดขึ้นถ้าผมทำเช่นนี้?
ฉันจะทำให้เรื่องนี้เป็นที่ชัดเจนบิต, C, C
ดังนั้นสิ่งที่เกิดขึ้นที่คุณทำ คิดว่าถ้าผมทำเช่นนี้?
บวกค
[ไม่ได้ยิน]
>> ผู้ชม: ไม่ว่าจะมีข้อผิดพลาดหรือ เพียงแค่เพิ่มครั้งแรกที่สามองค์ประกอบ
>> CONNER HARRIS: ไม่มาก
นี่คือสิ่งที่เราได้
สิ่งที่เกิดขึ้นเป็นที่สั้นกว่า อาร์เรย์ที่ได้ขี่จักรยาน
ดังนั้นเราจึงมี 124, 124, 124
ใช่.
และโดยทั่วไปคุณสามารถดู พฤติกรรมเช่นนี้มาก่อนบวก 1,
เป็น subclass ของพฤติกรรมนี้ที่ อาร์เรย์ที่สั้นที่สุดเป็นเพียงตัวเลข
1 ซึ่งเป็นองค์ประกอบหนึ่งอาร์เรย์
ผมแค่จะบอกว่าเวกเตอร์ทั้งหมด เวลาแทนอาร์เรย์
เพราะนั่นคือสิ่งที่อาร์ เอกสารมักจะไม่
มันเป็นนิสัยที่ฝังแน่นค
>> ตกลงดังนั้นตอนนี้เรามีอาร์เรย์นี้
ดังนั้นเราจึงมีอาร์เรย์นี้ค
เราจะได้รับบทสรุป สถิติเกี่ยวกับการคสรุปค
และนั่นเป็นเรื่องดี
ดังนั้นตอนนี้ขอทำบางสิ่งบางอย่างเมทริกซ์
สมมติว่า m คือเมทริกซ์
ลองทำให้มันเป็นสามสามหนึ่ง
ดังนั้น nRows เท่ากับ 3 และ ncols เท่ากับ 3
และสำหรับข้อมูลที่ขอ do-- ดังนั้นสิ่งที่ คุณคิดว่านี้จะทำอย่างไร
>> ขวาก็หน้าหนึ่ง
มัน nRow และ nColumn
ดังนั้นสิ่งที่ผมทำคือผมได้ ประกาศให้เป็นสามสามเมทริกซ์
และฉันได้ผ่านในอาร์เรย์เก้าองค์ประกอบ
ดังนั้นลอการิทึมของทั้งหมด องค์ประกอบหนึ่งถึงเก้า
และค่านิยมที่ทุกคนกรอก ขึ้นขอโทษ array--?
ผู้ชม: ผู้ที่มีฐาน 10 บันทึก?
CONNER HARRIS: ไม่มีบันทึกเป็น ลอการิทึมธรรมชาติฐาน e ดังนั้น
ใช่ถ้าคุณต้องการฐาน 10 บันทึกของผมคิดว่าคุณจะต้อง
เข้าสู่ระบบอะไรก็ตามหารด้วย 10 เข้าสู่ระบบ
และเพื่อให้ข้อมูลของ [ไม่ได้ยิน] เพียง เติมขึ้นอาร์เรย์ดังนั้นบนลงล่าง
แล้วจากซ้ายไปขวา
และถ้าคุณอยากจะทำบางอื่น ๆ อาร์เรย์สมมติว่า n เป็นเมทริกซ์
ลองทำผมไม่ทราบว่า 2-13
หรือฉันจะทำบางสิ่งบางอย่างที่น่าสนใจมากขึ้น
ฉันจะทำ 2-4
nRow เท่ากับสมมติว่า 3
nCol เท่ากับ 4
n
ดังนั้นเราจึงได้มีนี้
>> และตอนนี้ถ้าเราต้องการที่จะคูณเหล่านี้ เราจะทำร้อยละร้อยละ n ครั้ง
เพราะนั่นคือ n
และเรามีผลิตภัณฑ์แมทริกซ์
โดยวิธีที่พวกเขาคุณก็ดูว่า เมื่อฉันประกาศ n ที่ 2-4
เวกเตอร์ได้ขี่จักรยานจน มันเต็มไปขึ้นทั้งหมดของ n?
หากคุณต้องการที่จะใช้ การสลายตัว eigenvalue,
นี้คือสิ่งที่เราสามารถทำได้อย่างง่ายดาย
เราสามารถทำไอเกน n
และเพื่อให้เป็นครั้งแรกของเรา พบกับรายการ
>> ดังนั้น n ไอเกนเป็นรายการที่มีสองปุ่ม
ค่านิยมซึ่งเป็นอาร์เรย์ที่นี่
และเวกเตอร์ซึ่งเป็นอาเรย์ที่นี่
ดังนั้นหากคุณต้องการที่จะสกัด พูดนี้คอลัมน์ที่สาม
จากเมทริกซ์ eigenvectors เพราะ eigenvectors เป็นพาหะคอลัมน์
ดังนั้นเราจึงสามารถทำ vec ไอเกนเครื่องหมายดอลลาร์ n เวกเตอร์จุลภาค 3 ของ [ไม่ได้ยิน]
vec
คือว่าในขณะที่คุณอาจคาดหวัง
>> แล้วบอกว่า n ครั้งร้อยละ vec ครั้ง
ดังนั้นผลที่ตามมาที่นี่แน่นอนดูเหมือนว่า ถ้าเราเอาสามค่าเฉพาะที่นี่
ซึ่งสอดคล้องกับ ที่สามวิคเตอร์
มันก็คูณทุกอย่างใน วิคเตอร์นี้องค์ประกอบที่ชาญฉลาด
โดยค่าเฉพาะ
และนั่นคือสิ่งที่เราคาดหวัง เพราะนั่นคือสิ่งที่มีลักษณะเฉพาะ
มีใครที่นี่ไม่ได้ นำพีชคณิตเชิงเส้น?
คนทั้งคู่ตกลง
เพียงแค่เปิดสมองของคุณออกไปเล็กน้อย
และแน่นอนถ้าเราใช้ไอเกน n ค่าเงินดอลลาร์เข้าสู่ระบบ 3 ครั้ง vec,
ดีจะได้รับในสิ่งเดียวกัน
มันเป็นรูปแบบที่แตกต่างกันเป็นแถว เวกเตอร์แทนเวกเตอร์คอลัมน์
แต่เรื่องใหญ่
และเพื่อให้ผู้ที่มีพื้นดี สิ่งที่เราสามารถทำอะไรกับเมทริกซ์
แสดงให้เห็นถึงรายชื่อ
ฉันควรจะแสดงให้เห็นถึงดี สิ่งที่เกี่ยวกับฟังก์ชั่นเช่นกัน
>> ดังนั้นขอ say-- [ไม่ได้ยิน] ฟังก์ชั่นการโทรช่วยให้
มันบำบัดกับฟังก์ชั่น n n squared-- จริงที่ไม่ได้จริงๆที่ดีที่สุด
A, B เป็นสองบวกข
ดังนั้นสิ่งหนึ่งที่เกี่ยวกับ ฟังก์ชั่นอีกครั้งที่พวกเขา
ไม่จำเป็นต้องกลับมาอย่างชัดเจนงบ
เพื่อให้คุณสามารถ just-- คำสั่งสุดท้ายการประเมิน
จะมีคำสั่งกลับ หรือค่าที่ส่งกลับ
ดังนั้นในกรณีนี้เรากำลังเพียงการประเมิน หนึ่งคำสั่งที่ยกกำลังสองบวกข
ที่จะได้รับค่าตอบแทนเ​​ป็นค่าเริ่มต้น
มันไม่เจ็บที่จะใส่ใน ค่าตอบแทนอย่างชัดเจน
โดยเฉพาะอย่างยิ่งถ้าคุณกำลังติดต่อกับ ฟังก์ชั่นของตรรกะที่ซับซ้อนมาก
ไหล.
แต่คุณไม่ต้องการพวกเขา
ดังนั้นตอนนี้เราสามารถทำบำบัด 5, 1, และ นี้เป็นสิ่งที่คุณคาดหวัง
อย่างอื่นที่เราสามารถทำได้ เราสามารถทำได้จริงบำบัดข
เท่ากับ 1 เท่ากับ 5
ดังนั้นหากเราระบุจำนวนที่นี่ ซึ่งการโต้แย้งไปที่การโต้แย้ง
ในการทำงานที่เราสามารถพลิกไปรอบ ๆ ค่าเหล่านี้ทุกที่ที่เราต้องการ
>> ผู้ชม: มีเหตุผล ที่จะเขียนมันออกมาพร้อมกับข
เท่ากับเมื่อเทียบกับเพียงแค่ใช้ ตัวเลขและเครื่องหมายจุลภาคหรือไม่
CONNER HARRIS: ใช่มักจะ ทำเช่นนี้ถ้าคุณมีฟังก์ชั่น
มีจำนวนมากของข้อโต้แย้ง
ที่มักจะอาจจะชอบ ธงที่คุณต้องการเท่านั้น
ต้องการที่จะใช้ในโอกาสที่หายาก
และวิธีการนี​​้คุณสามารถเท่านั้นหากต้องการดูคุณ สามารถอ้างถึงข้อโต้แย้งที่เฉพาะเจาะจง
ที่คุณต้องการใช้ ค่าที่ไม่ใช่ค่าเริ่มต้นสำหรับ
และคุณไม่ต้องเขียนออกมา พวงของธงเท่ากับเท็จหลังจากที่พวกเขา
หรือฉันสามารถเขียนนี้อีกครั้งกับ ค่าเริ่มต้นเช่นขเท่ากับ 2
แล้วฉันจะทำฉบำบัด, ฉันจะทำ 4 ครั้งที่ 1 นี้
และ 17 ซึ่งเป็น 4 ยกกำลังสอง บวก 1 ในขณะที่คุณอาจคาดหวัง
>> แต่ผมจะทำได้ก็เป็นเพียงแค่ เรียกสิ่งนี้กับบำบัด 4
และฉันจะได้รับ 18 เพราะ ฉันไม่ได้ระบุข
ดังนั้นขได้รับค่าเริ่มต้นของ 2
>> ตกลงดังนั้นตอนนี้ถ้าคุณ ไปพร้อมกับการสาธิต
พิมพ์บรรทัดนี้ที่คำสั่งของคุณ แจ้งและดูสิ่งที่เกิดขึ้น
ที่จริงแล้วไม่ทำอย่างนั้น
พิมพ์นี้
คุณควรจะได้รับบางสิ่งบางอย่างเช่นนี้
ดังนั้น mtcars ถูกสร้างขึ้นในข้อมูล ที่กำหนดไว้สำหรับการสาธิตนี้
วัตถุประสงค์ที่มา with-- ที่มา โดยเริ่มต้นที่มีการกระจายของคุณอา
นี่คือการรวบรวมสถิติจาก 1974 นิตยสารมอเตอร์เทรนด์ของ
กับจำนวนของรถรุ่นที่แตกต่างกัน
>> ดังนั้นจึงมีไมล์ต่อแกลลอน cylinders-- ฉันลืมสิ่งที่จอ is-- แรงม้า
อาจ.
หากคุณเพียงแค่ Google มอนแทนารถ จากนั้นหนึ่งในผลแรก
จะมาจาก เอกสารอาอย่างเป็นทางการ
และมันจะอธิบาย ทุกเขตข้อมูลเหล่านี้
ดังนั้นน้ำหนัก is-- น้ำหนักคือ น้ำหนักของรถที่ตัน
Q วินาทีเป็นเวลาที่สี่ไมล์
ดังนั้นตอนนี้เราสามารถทำสิ่งบางอย่างสนุก เกี่ยวกับรถยนต์มอนแทนาเป็นเขตข้อมูลที่
>> ดังนั้นเราสามารถทำสิ่ง เช่นชื่อแถว, รถเมา
และนี่คือรายชื่อของแถวทั้งหมดใน ข้อมูลที่กำหนดซึ่งเป็นชื่อของรถยนต์
เราสามารถทำ colnames, เมารถนี้
ถ้าคุณทำเช่นเมารถ ดัชนีย่อยตัวเลขเช่น 2
เราได้รับคอลัมน์ที่สองจาก นี้ซึ่งจะเป็นถัง
>> ผู้ชม: คุณทำอะไร?
>> CONNER HARRIS: ฉันพิมพ์ เมารถอีวงเล็บ
ซึ่งทำให้ฉันที่สอง คอลัมน์ออกจากรถเมา
หรือถ้าเราต้องการแถวที่ผมสามารถพิมพ์ mtcars จุลภาค 2 ยกตัวอย่างเช่น
อื่น ๆ รอบ 2 จุลภาคเช่นนั้น
และที่ไปในแถวของคุณ
เพียงแค่นี้ที่นี่จะช่วยให้คุณ คอลัมน์คอลัมน์ แต่เป็นเวกเตอร์
ฉันเพิ่งตระหนักตอนนี้ฉัน ลืมที่จะแสดงให้เห็นถึง
บางสิ่งที่ดีๆเกี่ยวกับเวกเตอร์ ที่คุณสามารถทำอะไรกับดัชนี
เพื่อให้ฉันทำอย่างนั้นในขณะนี้
เพื่อขอทำค gets-- วาง นี้ pause-- 2 ครั้ง 1-10
ดังนั้นคเป็นเพียงการไปได้ เวกเตอร์ที่ 2 ถึง 20
ฉันสามารถใช้องค์ประกอบเช่นนี้ c2
ฉันสามารถผ่านในเวกเตอร์ เช่นนี้ c-- ให้ฉัน
ใช้ชื่อที่แตกต่างจากคเช่น vec ค
โดยทั่วไปที่ฉันทำ นี้เพื่อให้คุณไม่ได้รับ
สับสนระหว่างคเป็น เวกเตอร์ฟังก์ชั่นการก่อสร้าง
แล้วคเป็นชื่อตัวแปร
วงเล็บ vec ค 4, 5, 7
นี้จะได้รับฉันออกจากที่สี่ที่ห้า เจ็ดองค์ประกอบของอาร์เรย์
ที่ฉันสามารถทำได้ vec ใส่ในเชิงลบ ดัชนีเชิงลบเช่น 4
ที่จะได้รับฉันออกนี้กับ องค์ประกอบที่สี่ลบออก
แล้วถ้าฉันอยากจะทำชิ้น ที่ฉันสามารถทำได้ vec 2 ถึง 6
2 ลำไส้ใหญ่ 6 เป็นเพียงอีกหนึ่ง เวกเตอร์ซึ่งเป็น 2, 3, 4, 5, 6
ถ่มน้ำลายให้เห็นว่า
>> ดังนั้น แต่อย่างใดกลับไปที่รถเมา
เพื่อขอทำบางถดถอย
สมมติว่ารูปแบบ gets-- ขอ เส้นตรง regress-- ผมไม่ทราบว่า
แรกให้แนบ mtcars ไม่แน่นอน
ดังนั้น [ไม่ได้ยิน] รุ่น LM ขอถอยหลัง ไมล์ต่อแกลลอนน้ำหนักตัวหนอน
และแล้วกรอบข้อมูล mtcars
ดังนั้นรูปแบบการสรุป
>> ตกลงดังนั้นนี้มีลักษณะบิตซับซ้อน
แต่โดยทั่วไปเห็นว่าเรา พยายามที่จะแสดงความไมล์ต่อแกลลอน
เป็นฟังก์ชันเชิงเส้นของน้ำหนัก แล้วเราได้สายนี้ที่นี่
ซึ่งดักที่ 37.28
37.28 จะเป็นไมล์ทางทฤษฎี ต่อแกลลอนของรถที่มีน้ำหนักศูนย์
และแล้วทุกตันเพิ่มเติม คุณเคาะประมาณห้าไมล์ต่อแกลลอน
ออกจากที่
ทั้งสองของสัมประสิทธิ์เหล่านี้คุณ สามารถมองเห็นข้อผิดพลาดที่มีมาตรฐาน
และพวกเขาเป็นอย่างมาก นัยสำคัญทางสถิติ
>> ดังนั้นเราจะมั่นใจได้มากที่จะ 1 อี 10 ถึงลบ 10
ดังนั้น 1 ครั้งสิ่งที่จะลบ 10 ว่าถ้าคุณทำให้รถหนัก
ก็จะมีที่เลวร้ายยิ่งไมล์ต่อแกลลอน
หรือเราสามารถทดสอบบางรูปแบบอื่น ๆ
ชอบแทน ถอยนี้น้ำหนัก
ขอถอยหลังไว้ในบันทึกน้ำหนัก เพราะอาจจะเป็นน้ำหนักที่มีประสิทธิภาพ
กับระยะทางเป็นอย่างใดไม่เป็นเชิงเส้น
>> เรื่องนี้ทำให้เราสองของอา 0.7528
ดังนั้นเรามาลองนี้
คราวนี้เรามาทำ ตัวแปรที่แตกต่างกันมากเกินไป
Model2
ดังนั้นสรุป model2
สิทธิทั้งหมดดังนั้นอีกครั้งเรา มีเส้นแบบที่ดีที่สุดของเราที่นี่
และนี่ time-- นี้ไม่ว่าจะเป็น โดยทั่วไปว่าเวลาที่คุณทุกคน
เพิ่มน้ำหนักของ รถโดยปัจจัยที่อี
คุณสูญเสียนี้หลายไมล์ต่อแกลลอน
>> ดังนั้นเวลานี้มาตรฐานที่เหลือของเรา ข้อผิดพลาด it-- ที่ไม่ได้เรื่องจริงๆ
ข้อผิดพลาดมาตรฐานที่เหลือคือ เป็นเพียงข้อผิดพลาดมาตรฐาน
ที่คุณมีเหลือหลังจากที่คุณ จะไปเส้นแนวโน้ม
และอาร์ของเราสองที่นี่เป็น 0.81, ซึ่งเป็นบิตดีกว่าสิ่งที่
เรามีมาก่อน 0.52
>> ดังนั้นตอนนี้ขอเพิ่ม ระยะนี้จะถดถอย
ดังนั้นขอถอยหลังไมล์ต่อแกลลอน ทั้งในการเข้าสู่ระบบของน้ำหนักที่
และขอทำไมล์คิว เวลาไตรมาสไมล์
ตกลงจะต้องมี the-- สิทธิ์ qsec
Qsec
Actually-- ขออภัยอะไร?
ผมขอเรียกสิ่งที่นี้ อื่นนอกเหนือจาก model2
ผมขอเรียก model3 นี้
ดังนั้นตอนนี้เราสามารถทำสรุป model3
และอื่น ๆ อีกครั้งนี้เป็นพื้น สิ่งที่คุณอาจคาดหวัง
คุณมีการสกัดกั้นในเชิงบวก
การเพิ่มประสิทธิภาพ น้ำหนักเป็นลบ
และมีประสิทธิภาพ ที่เพิ่มขึ้นในไตรมาสเวลาไมล์
เป็นบวก แต่แม้ว่า น้อยกว่าน้ำหนัก
ตอนนี้สังหรณ์ใจคุณสามารถทำให้ความรู้สึกของ นี้โดยบอกคิดเกี่ยวกับรถสปอร์ต
มีอัตราเร่งที่เร็วมากเป็น, ไตรมาสที่สั้นมากครั้งหนึ่งไมล์
พวกเขายังจะใช้ก๊าซมากขึ้น ขณะที่รถยนต์ที่เหมาะสมมากขึ้นจะ
ที่จะมีการเร่งความเร็วช้าลง ไตรมาสที่สูงขึ้นครั้งไมล์
และใช้ก๊าซน้อย ,, ดังนั้น สูงกว่าไมล์ต่อแกลลอน
ที่ดี
และตอนนี้ก็ถึงเวลาที่ พล็อตอะไรเช่นนี้
ดังนั้นขอ do-- เปลือยเพื่อ กระดูกที่เราสามารถทำได้ plots--
เพราะผมได้แนบกรอบข้อมูลนี้ before-- เราก็สามารถทำแปลงน้ำหนักแกลลอน
ทำให้ที่นี่เป็นบิตที่ใหญ่กว่า
ที่นั่นเราก็มี พล็อตที่กระจาย แต่จุด
เป็นชนิดของยากที่จะเห็นเกี่ยวกับเรื่องนี้
>> ผมจำไม่ได้ว่าสิ่งที่เฉพาะหน้า ไวยากรณ์สำหรับการเปลี่ยนพล็อต
ดังนั้นผมคิดว่านี้จะเป็น ช่วงเวลาที่ดีที่จะนำขึ้น
มีความช่วยเหลือ builtin ดีมาก คุณลักษณะ, คำพูดความช่วยเหลือชื่อทำงาน
เราจะนำขึ้นโดยทั่วไป สิ่งที่คุณต้องการ
ผมคิดว่าที่จริงผมจะทำเช่นนี้ ประเภทเท่ากับพีสำหรับการแปลงจุด
ไม่ว่าอะไรเปลี่ยน?
และไม่ได้จริงๆ
ทั้งหมดขวา
>> ด้วยเหตุผลบางอย่างเมื่อฉันทำอย่างนี้ บนเครื่องคอมพิวเตอร์ของตัวเองในขณะที่ที่ผ่านมา
ทุกจุดกระจาย เป็นที่ชัดเจนมากขึ้น
ทั้งนี้เป็นชนิดกระจายมองเห็นได้หรือไม่?
มีหนึ่งมี
ไม่กี่มีไม่กี่มี
การจัดเรียงของคุณสามารถเห็นพวกเขาใช่มั้ย?
ดังนั้นถ้าเราต้องการที่จะเพิ่มบรรทัดแบบที่ดีที่สุด พล็อตนี้ที่นี่ซึ่งเป็นบิตเปลือย
bones-- ให้ผมทำให้มันเป็นบิตดีกว่า
หลักเท่ากับเมื่อเทียบกับน้ำหนัก
ไมล์ต่อแกลลอน
อีกครั้งคุณจะเห็นว่ามีประโยชน์ ข้อโต้แย้งที่เป็นตัวเลือกที่มีอยู่ที่นี่ยัง
ไม่ได้มีที่จะนำสิ่งที่อยู่ใน ลำดับที่แน่นอนกับการขัดแย้งแป้นพิมพ์
เมื่อคุณมีแปลงเพราะ เหล่านี้ใช้เวลามากของข้อโต้แย้ง
>> Xlab เท่ากับน้ำหนัก, น้ำหนัก, ตัน
ทั้งหมดขวา
ตกลงใช่อุปกรณ์นี้ จะเป็นบิตที่น่ารำคาญ
แต่คุณสามารถดูการจัดเรียงของไปอยู่ที่นั่น มีชื่อกราฟด้านข้าง
มากกว่าที่นี่ there's-- ที่อยู่ด้านล่าง ที่นี่มีป้ายชื่อแกนมี
ผมจำไม่ได้เฉพาะหน้า สิ่งที่คำสั่ง ars--
สิ่งที่ฟังก์ชั่นที่มีการเพิ่มขึ้น ขนาดของป้ายเหล่านั้นและชื่อเรื่อง
แต่พวกเขากำลังมี
>> ดังนั้นถ้าเราต้องการ เพิ่มบรรทัดพอดีที่ดีที่สุด
เราสามารถทำบางสิ่งบางอย่าง like-- ฉัน มีไวยากรณ์ที่เขียนขึ้นที่นี่
ดังนั้นจำได้ว่าเราเพียงแค่เพิ่มรูปแบบ เป็น MPG, น้ำหนัก mtcars
ดังนั้นถ้าผมต้องการที่จะเพิ่มแบบที่ดีที่สุด บรรทัดที่ฉันจะทำแบบสายข
และบูมเรามีสายแบบที่ดีที่สุด
มันเป็นชนิดยากที่จะมองเห็นอีกครั้ง
ผมค่อนข้างเสียใจเกี่ยวกับ ความยากลำบากทางเทคโนโลยี
แต่มันจะทำงานโดยทั่วไป ซ้ายบนลงด้านล่างขวา
>> และถ้ามีขนาด ที่ใหญ่กว่าคุณจะได้เห็น
ที่ตัดคือสิ่งที่คุณสามารถทำได้ พบว่าจากสถิติสรุป
ถ้าคุณพิมพ์รูปแบบสรุป
ตกลงดังนั้นผมหวังว่าทุกคนได้รับ บางสิ่งบางอย่างของความรู้สึกของสิ่งที่
R คือสิ่งที่มันเป็นสิ่งที่ดีสำหรับ
คุณสามารถทำให้แปลงดีกว่ากว่า ในเวลานี้ของคุณเองหากคุณต้องการ
>> ดังนั้นอินเตอร์เฟซที่ฟังก์ชั่นต่างประเทศ
นี่คือสิ่งที่ไม่ปกติ ครอบคลุมในการบรรยายเบื้องต้น
หรืออะไรเบื้องต้นสำหรับการวิจัย
มันไม่ได้มีแนวโน้มที่คุณจะต้องการมัน
แต่ผมพบว่ามันมีประโยชน์ในการ โครงการของตัวเองในอดีตที่ผ่านมา
และมีไม่ดี กวดวิชาออนไลน์
ดังนั้นฉันแค่ไป วิ่งทุกท่านผ่านทางนี้
แล้วคุณอิสระที่จะออก
และเพื่อให้ชาวต่างชาติ อินเตอร์เฟซที่ฟังก์ชั่นคือสิ่งที่
คุณสามารถใช้เพื่อเรียกออกมาให้เห็น ฟังก์ชั่นที่มีอาร์ภายใน
R ที่ถูกสร้างขึ้นในเลขคณิตซีอาร์เอสเป็นเพียง ซี 64 บิตการคำนวณจุดลอย,
ซึ่งเป็นพิมพ์คู่ [ไม่ได้ยิน]
และคุณอาจต้องการที่จะทำ นี้พวงของเหตุผล
สำหรับหนึ่ง R คือการตีความก็ ไม่ได้รวบรวมลงไปที่รหัสเครื่อง
เพื่อให้คุณสามารถเขียนของคุณ ลูปด้านใน C แล้วได้รับ
ข้อได้เปรียบของการใช้เช่นเดียวกับอาร์ มันเป็นบิตสะดวกสบายกว่าซี
มันมีกราฟที่ดีขึ้น สิ่งอำนวยความสะดวกและ whatnot
และในขณะที่ยังคงความสามารถที่จะได้รับ ความเร็วสูงสุดออกจากลูปด้านใน
ซึ่งเป็นที่ที่คุณต้องการจริงๆ
>> การนำที่มีอยู่ในห้องสมุดซี นั่นคือสิ่งที่สำคัญ
หากคุณมีบางห้องสมุด C เป็นเหมือน ผมไม่ทราบว่าแปลงฟูริเยร์,
หรือประวัติศาสตร์มาก ขั้นตอนการใช้สถิติ
ดาราศาสตร์พลังงานสูง หรือสิ่งที่ผมไม่ทราบ
ดาราศาสตร์พลังงานสูง คือไม่ได้คิดว่าผมคิดว่า
แต่คุณสามารถทำเช่นนั้นแทนที่จะต้อง เขียนพอร์ต R ชนพื้นเมืองของพวกเขา
และใน the-- และอีกครั้งเช่นถ้าคุณ ดูในส่วนของ R ห้องสมุดค่าเริ่มต้น
ใน internals ที่ internals มี จะใช้ฟังก์ชั่นต่างประเทศ
ติดต่อกันอย่างกว้างขวางมาก
พวกเขาจะมีสิ่งที่ต้องการฟูริเยร์ หรือเปลี่ยนการคำนวณความสัมพันธ์
ค่าสัมประสิทธิ์เขียน C และพวกเขาจะ เพียงแค่ต้องห่อ R รอบตัวพวกเขา
อินเตอร์เฟซที่เป็น บิตยาก ฉันคิด
ความยากลำบากของมันคือการพูดเกินจริงใน จำนวนมากของคำแนะนำที่คุณจะได้พบกับ
แต่อย่างไรก็ตามมันเป็นบิตสับสน
และฉันไม่ได้รับสามารถที่จะ พบว่าการกวดวิชาที่ดีสำหรับมัน
ดังนั้นนี้เป็นได้ในขณะนี้
อีกครั้งส่วนนี้ทั้งหมด เป็นมากขึ้นสำหรับการอ้างอิงในภายหลัง
ไม่ต้องกังวลกับการคัดลอก ทุกอย่างลงในขณะนี้
ดังนั้นคำแนะนำต่อไปนี้ สำหรับระบบปฏิบัติการ Unix เหมือน
Linux, BSD, OS X ได้ผมไม่ทราบว่า วิธีการทำงานนี้บน Windows,
แต่โปรดก็ไม่ได้ทำของคุณ โครงการสุดท้ายบน Windows
จริงๆคุณไม่ต้องการที่จะ
ยูนิกซ์เป็นชุดที่ดีมาก สำหรับการเขียนโปรแกรมแบบสบาย ๆ
ดังนั้นต่างประเทศโดยทั่วไป อินเตอร์เฟซที่ฟังก์ชั่น
ถ้าคุณต้องการที่จะเขียน C ฟังก์ชั่นสำหรับการใช้งานกับ R,
มันจะใช้เวลาทั้งหมด ข้อโต้แย้งที่เป็นตัวชี้
>> ดังนั้นสำหรับค่าเดียวนี้ หมายความว่ามันชี้ไปที่ค่า
สำหรับอาร์เรย์นี้เป็นตัวชี้ ไปยังองค์ประกอบแรกซึ่ง
คือสิ่งที่อาร์เรย์ชื่อจริงหมายถึง
อีกครั้งนี้เป็นสิ่งที่คุณควรจะมี สวยทั้งหมดลงหลังจากที่พีตั้งห้า
ชื่ออาร์เรย์เป็นเพียงคำแนะนำ ไปยังองค์ประกอบแรก
ชนิดจุดลอยเป็นสองเท่า
และการทำงานของคุณจะกลับมาเป็นโมฆะ
วิธีเดียวที่จะสามารถ จริง R บอกสิ่งที่เกิดขึ้น
โดยการปรับเปลี่ยนเป็นหน่วยความจำที่ให้ R มันผ่านฟังก์ชั่นต่างประเทศ
อินเตอร์เฟซ
>> ดังนั้นผมจึงได้เขียนนี้ ตัวอย่างเช่นที่นี่นี้เป็น
ฟังก์ชั่นที่ใช้คำนวณ สินค้าที่จุดของสองเวกเตอร์
มันต้องใช้เวลาสองขัดแย้ง vec1, vec2, ซึ่งเป็นพาหะของตัวเอง
แล้ว n ซึ่งเป็น ความยาวเพราะอีกครั้ง
R ได้สร้างขึ้นใน [ไม่ได้ยิน] เพื่อหา ความยาวของเวกเตอร์ แต่ C ไม่ได้
ใน C, เวกเตอร์เป็นพล ก้อนที่คั่นของหน่วยความจำ
ดังนั้นวิธีการที่คุณสามารถ คำนวณผลิตภัณฑ์ dot
เป็นเพียงการตั้งค่านี้ออกพารามิเตอร์ ให้เป็นศูนย์แล้วย้ำผ่าน
ตั้งแต่วันที่ 1 ดารา n เพราะ n เป็นตัวชี้ความยาวที่
เพียงแค่เพิ่มสิ่งที่ พารามิเตอร์นี้ออก
และจะสามารถปฏิบัติที่ดี ถ้าคุณกำลังจะทำ
นี้จะเขียนฟังก์ชัน C สองแยก
หนึ่งในนั้น has-- หนึ่งของพวกเขาเพียงแค่ ใช้เวลาการขัดแย้งและประเภทที่
ปกติท​​ี่พวกเขาจะอยู่ในซี
>> ดังนั้นมันต้องใช้อาร์เรย์ ข้อโต้แย้งที่เป็นตัวชี้
แต่ข้อโต้แย้งค่าเดียวเช่น n, มันก็จะเป็นค่าโดยการคัดลอก
โดยไม่ชี้
และจากนั้นก็ไม่ได้ [ไม่ได้ยิน] ชี้ออก
และจากนั้นคุณสามารถมี ที่แตกต่างกันโดยทั่วไป
ฟังก์ชั่นเสื้อคลุมที่พื้น การจัดการความต้องการ
ฟังก์ชั่นต่างประเทศ อินเตอร์เฟซสำหรับคุณ
>> ในแบบที่คุณเรียกสิ่งนี้ในการวิจัยคือครั้งเดียว คุณมีฟังก์ชั่นของคุณเขียนใน C,
คุณพิมพ์ cmd shlib R, R คำสั่งห้องสมุดที่ใช้ร่วมกัน
จุดค foo หรืออะไรก็ตาม ชื่อไฟล์ของคุณคือ
และเปลือก OS ไม่ได้อยู่ในอาร์มินัล
และสิ่งนี้จะสร้าง ห้องสมุดที่เรียกว่า foo จุดเพื่อ
และจากนั้นคุณสามารถโหลดไว้ใน สคริปต์ของเราหรือโต้ตอบ
ที่มีคำสั่ง DYN โหลดจุด
จากนั้นก็มีฟังก์ชั่น ในการวิจัยที่เรียกว่าจุดค
>> นี้จะใช้เวลาที่มีข้อโต้แย้ง ครั้งแรกที่ชื่อของฟังก์ชั่นในซี
ที่คุณต้องการที่จะเรียก
และแล้วทุกพารามิเตอร์ ฟังก์ชั่นที่
พวกเขาต้องอยู่ในลำดับที่ถูกต้อง
คุณต้องใช้ประเภทเหล่านี้ ฟังก์ชั่นการบังคับเป็นจำนวนเต็มเช่น
คู่เป็นตัวอักษรและเป็นตรรกะ
และจากนั้นเมื่อมีการส่งกลับ รายการอีกครั้งซึ่งเป็นเพียง
อาร์เรย์ที่เกี่ยวข้องของ ชื่อพารามิเตอร์และค่า
หลังจากที่ฟังก์ชั่นที่มีการเรียกใช้
>> ดังนั้นในกรณีนี้เพราะมีจุดแยง ข้อโต้แย้ง vec1, vec2 และ int n, n ออก
เพื่อจุดคเรามีแยงจุด ชื่อของฟังก์ชัน
เรากำลังเรียก vec1, vec2, บีบบังคับประเภท
ความยาวของทั้งเวกเตอร์ ฉันเพียงแค่เลือก vec1 โดยพลการ
มันจะมีประสิทธิภาพมากขึ้นที่จะพูด s ระยะเวลาในนาทีจำนวนเต็มของ vec1, vec2 ระยะเวลา
แล้วก็เป็นศูนย์คู่ เพราะเราไม่ได้จริงๆ
สนใจสิ่งที่จะเข้าสู่ ออกพารามิเตอร์เพราะเรา
การตั้งค่าให้เป็นศูนย์อยู่แล้ว
>> และผลจากนั้นจะไปเป็น ที่เกี่ยวข้องอาร์เรย์ใหญ่ของพื้น
vec1 เป็นสิ่งที่เป็นสิ่งที่ vec2
แต่เรากำลังสนใจใน ออกมาเพื่อให้เราสามารถได้รับที่ออกมา
นี่คืออีกตัวอย่างของเล่นมาก ของอินเตอร์เฟซที่ฟังก์ชั่นต่างประเทศ
แต่ถ้าคุณมีการคำนวณจุด ผลิตภัณฑ์ของเวกเตอร์ขนาดใหญ่ในลูป
หรือถ้าคุณต้องทำ อย่างอื่นในวง,
และคุณไม่ต้องการพึ่งพา R, ซึ่งจะมีบิตของค่าใช้จ่าย
ที่สร้างขึ้นในเรื่องนี้จะมีประโยชน์
>> อีกครั้งนี้ไม่ปกติ หัวข้อเบื้องต้นที่อาร์
มันไม่ได้รับการบันทึกไว้เป็นอย่างดี
ฉันแค่รวมทั้งมันเพราะ ผมพบว่ามันมีประโยชน์ในการที่ผ่านมา
ดังนั้นการปฏิบัติที่ไม่ดี
ที่ผมกล่าวถึงว่ามี สำหรับวงในการทำงาน
โดยทั่วไปคุณไม่ควรใน ภาษาที่ไม่ใช้มัน
ขึ้นอยู่กับวิธีการดำเนินการวิจัยซ้ำ ภายในก็สามารถจะช้า
พวกเขาก็ยังดูน่าเกลียด
>> R จัดการพาหะอย่างมากดังนั้น บ่อยครั้งที่คุณไม่จำเป็นต้องใช้มัน
จากนั้นคุณจะสามารถ แทนที่เวกเตอร์มักจะ
ที่มีฟังก์ชั่นเหล่านี้เรียกว่าสูง ฟังก์ชั่นการสั่งซื้อ, แผนที่, ลด
ค้นหาหรือกรอง
ฉันจะให้บางส่วน ตัวอย่างของสิ่งเหล่านี้
แผนที่เป็นฟังก์ชั่นการสั่งซื้อสูงขึ้นเนื่องจาก มันต้องใช้ฟังก์ชั่นเป็นอาร์กิวเมนต์
ดังนั้นคุณสามารถให้มันฟังก์ชั่น คุณสามารถให้มันอาร์เรย์
และมันจะใช้ฟังก์ชั่น องค์ประกอบของอาร์เรย์ทุก
และกลับอาร์เรย์ใหม่
ลดโดยทั่วไปคุณให้ มันอาร์เรย์คุณให้มัน
ฟังก์ชั่นที่ใช้เวลาสองขัดแย้ง
มันจะใช้ฟังก์ชั่นแรก อาร์กิวเมนต์แรกกับค่าเริ่มต้น
จากนั้นก็ให้ผลในครั้งที่สองว่า
จากนั้นก็ให้ผลว่าในไตรมาสที่สาม แล้วผลที่สี่ที่
แล้วกลับเมื่อได้รับไปยังจุดสิ้นสุด
ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณต้องการที่จะ คำนวณผลรวมขององค์ประกอบทั้งหมด
ในอาร์เรย์กว่าที่คุณอาจจะเรียกลด กับ [ไม่ได้ยิน] ลดนอกจากนี้
ฟังก์ชั่นเช่นการบำบัด b, กลับมาเป็นบวกข
แล้วเริ่มต้นค่าเป็น 0
>> และสิ่งเหล่านี้คุณสามารถพบพวกเขา อธิบายไว้ในเอกสาร R ที่
ในตำราใด ๆ โปรแกรมการทำงาน
นอกจากนี้ยังมีระดับนี้ ฟังก์ชั่นที่เรียกว่าใช้ฟังก์ชั่น
ซึ่งผม don't-- พวกเขากำลัง บิตยากที่จะอธิบาย
แต่ถ้าคุณดูใน [ไม่ได้ยิน] จองที่ผมอ้างถึงที่จุดเริ่มต้น
เขาอธิบายว่าพวกเขาสวยดีใน ภาคผนวกของเขาเกี่ยวกับการเขียนโปรแกรม R
เพิ่มเติมเกี่ยวกับการปฏิบัติ ผนวกกับเวกเตอร์
ใช่?
ผมคิดว่าผมควรจะแก้ไขให้ถูกต้องว่า
ในบรรทัดแรกที่ลูกศร vec, ลูกศรที่ไม่ควรจะมี
คุณสามารถกำหนดให้กับเวกเตอร์ อีกครั้งโดยใช้ความยาวของมันบวก 1
และการกำหนดค่าให้กับว่าบางส่วน
ที่จะขยายเวกเตอร์หรือคุณ สามารถทำ vec เท่ากับ C, vec newValue
อีกครั้งถ้าคุณใช้ C ที่มี อาร์กิวเมนต์หนึ่งเป็นเวกเตอร์
ลำดับส่งผลให้ได้รับการแบน
ดังนั้นคุณก็จะได้รับเวกเตอร์ ที่ขยายออกไปโดย 1
ไม่เคยทำเช่นนี้
>> เหตุผลที่ว่าทำไมคุณ ไม่ควรทำเช่นนี้คือ
เมื่อคุณจัดสรรเวกเตอร์มัน ให้มันอันหนึ่งของหน่วยความจำ
ถ้าคุณเพิ่มขนาดเวกเตอร์ที่ จะมีการจัดสรรเวกเตอร์
ที่อื่น.
และจัดสรรเพื่อให้เป็นราคาแพงมาก
ฉันจะไม่ไปลงรายละเอียดของวิธีการ allocators หน่วยความจำที่จะดำเนินการ
ในระดับของระบบปฏิบัติการ แต่มันต้องใช้เวลามาก
ที่จะหาก้อนใหม่ของหน่วยความจำ
และยังถ้าคุณ การจัดสรรอีกจำนวนมากและจำนวน
ความก้าวหน้าของขนาดใหญ่ ชิ้นคุณท้าย
กับสิ่งที่เรียกว่า การกระจายตัวของหน่วยความจำ
ที่หน่วยความจำที่มีอยู่ แบ่งออกเป็นจำนวนมากของบล็อกเล็ก ๆ น้อย ๆ
ในหน่วยความจำ allocators จุดของมุมมอง
และจะได้รับหนักและยาก ที่จะหาหน่วยความจำสำหรับสิ่งอื่น ๆ
ดังนั้นแทนที่จะถ้าคุณต้องการที่จะทำนี้ถ้า คุณต้องการที่จะเติบโตเวกเตอร์จากปลายด้านหนึ่ง
ต่อไปแทนการผนวกกับมัน ตลอดเวลาที่คุณควรก่อนจัดสรร
ลูกศร vec ยาวเวกเตอร์ เท่ากับ 1,000 หรืออะไรก็ตาม
>> และจากนั้นคุณก็สามารถกำหนด ไปเป็นค่าของเวกเตอร์หนึ่ง
เป็นเวลาหลังจากที่คุณได้รับการจัดสรรครั้งเดียว
ฉันวิ่งเข้าไปในนี้อีกครั้งในช่วงฤดู​​ร้อนของฉันงาน เมื่อผมเขียนชมรมที่แตกต่างกัน
แก้สม
สัญลักษณ์ที่เป็นตัวเลขไม่ได้
แนวคิดก็คือว่าเมื่อคุณมี หนึ่งค่าสำหรับการแก้ปัญหาของคุณ
ที่คุณใช้ในการคำนวณที่หน้าหนึ่ง
ดังนั้นฉันธรรมชาติไร้เดียงสา ความโน้มเอียงที่จะบอกว่าตกลง
ดังนั้นฉันจะเริ่มต้นด้วยเวกเตอร์ ที่เป็นมูลค่าอย่างมาก
คำนวณจากค่าต่อไป ที่จะไปสู่​​การแก้ปัญหาเวกเตอร์ของฉัน
และผนวกที่
>> สร้างอย่างอื่นที่ผนวก
มันก็มากช้ามาก
และเมื่อฉันตระหนักในเรื่องนี้ และผมเปลี่ยนระบบของฉัน
จากผนวกกับเวกเตอร์นี้ เช่น 10,000 ถึง 100,000 ครั้ง
เพียงก่อนการจัดสรรเวกเตอร์ และเพียงแค่การทำงานกับ
ฉันได้มากกว่า 1,000 เท่าความเร็วขึ้น
ดังนั้นนี่เป็นเรื่องธรรมดามาก กับดักสำหรับการเขียนโปรแกรม R
ถ้าคุณต้องการที่จะสร้างขึ้นเวกเตอร์ ชิ้นโดยชิ้นก่อนการจัดสรร
>> การเดินทางร่วมกัน up-- นี้เป็นครั้งสุดท้ายของฉัน สไลด์ไม่ worry-- คือจัดการข้อผิดพลาด
R ที่จะตรงไปตรงมาไม่ได้ จริงๆทำเช่นนี้ได้เป็นอย่างดี
มีจำนวนมาก ปัญหาที่สามารถปลูกขึ้น
ตัวอย่างเช่นถ้าคุณได้รับอาร์เรย์ หรือเวกเตอร์ออกจากฟังก์ชั่น
ที่คุณคาดหวังเดียว ค่าจะมาจากหรือในทางกลับกัน
และคุณผ่านที่เป็นฟังก์ชั่นที่ คุณเขียนคาดหวังว่าค่าเดียว
ที่อาจจะมีปัญหา
>> ฟังก์ชั่นบางอย่าง กลับ null เช่นเดียวกับการพูด
อ่านจาก ที่สำคัญไม่มีอยู่ในรายการ
แต่ null ไม่เหมือน C ซึ่งถ้าคุณพยายามที่จะอ่าน
จากตัวชี้เก่า [ไม่ได้ยิน] ชี้ให้เป็นโมฆะก็แค่ SEG ความผิดพลาด
และถ้าคุณอยู่ในดีบักของคุณ จะบอกคุณว่าคุณจะอยู่ที่ไหน
แต่ null จะ do-- ฟังก์ชั่น จะทำในสิ่งที่คาดเดาไม่ได้
หากพวกเขากำลัง null มือ
เช่นถ้าคุณกำลังส่ง null สูงสุด มันจะทำให้คุณอินฟินิตี้ที่เป็นลบ
และเพื่อให้ใช่
และเพื่อให้เรื่องนี้เกิดขึ้น เพื่อให้ผมอีกครั้งเมื่อฉันได้
เปลี่ยนพวงของสาขา ในโครงสร้างรายการของฉัน
ครั้งเดียวโดยไม่ต้องเปลี่ยนพวกเขาที่อื่น เมื่อผมได้อ่านจากพวกเขา
และจากนั้นผมได้ทุกประเภทของการสุ่ม อินฟินิตี้ผลการปลูกพืชขึ้น
และผมไม่มีความคิดที่พวกเขามาจาก
และโชคร้ายที่มี ไม่มีจริง R โหมดที่เข้มงวด
ที่คุณสามารถพูดได้ว่าสิ่งที่ ดูเหมือนว่ามันอาจจะมีข้อผิดพลาด
หยุดเพียงแค่มีเพื่อที่ฉันจะสามารถ มีระเบียบวินัยและการแก้ไขปัญหาที่
แต่มีบางสิ่งบางอย่าง เรียกว่าหากไม่หยุด
นี้จะเทียบเท่ากับยืนยันของซี ถ้าคุณได้พูดคุยเกี่ยวกับการที่
ฉันไม่คิดว่าซียืนยัน หัวข้อการบรรยาย
แต่ผู้นำส่วนของคุณ อาจได้ไปมากกว่านั้น
และหยุดหากไม่ได้โดยทั่วไปจะใช้เวลาใด ๆ กริยาดังนั้นคำสั่งใด ๆ ที่
สามารถเป็นจริงหรือเท็จ
และถ้ามันผิดพลาดจะหยุดโปรแกรม
มันจะบอกคุณว่าสิ่งที่คุณสาย ได้ในสิ่งที่ล้มเหลวและเงื่อนไข
>> และสิ่งนี้มีประโยชน์มากเช่น การตรวจสอบสุขภาพจิตดี, ฟังก์ชั่นปัจจัยการผลิต
ดังนั้นถ้าคุณมีฟังก์ชั่น และที่คุณคาดหวังการพูด
ว่าคุณควรจะให้ฉันวันที่ฉันต้องการ วันที่เป็นเพียงเวกเตอร์ของความยาว 1
และที่ใดที่หนึ่งระหว่างวันที่ 1 และวันที่ 31
และหากไม่ได้ฉันรู้ว่า บางสิ่งบางอย่างที่ผิดไป
และผมก็เลือกที่จะหยุดเพียงแค่นั้นก่อนหน้านี้ มีการสุ่มเคาะเกี่ยวกับผลกระทบที่มีรหัส
ว่ามันเป็นเรื่องยากที่จะติดตามผ่าน
เพื่อให้เป็นหนึ่งที่เป็นไปได้ ใช้สำหรับการหยุดหากไม่ได้
>> ทั้งนี้ตกลง
เพื่อให้เป็นที่สิ้นสุด
ขอบคุณมากสำหรับการมา
ฉันเป็นมือสมัครเล่นตำแหน่งนี้
ขอโทษถ้าคุณกำลังเบื่อหรือ สับสนหรือสิ่งที่มีคุณ
ฉันมีความสุขที่จะใช้คำถามทางอีเมล ที่ connorharris@college.harvard.edu
นี้ไปยังสำหรับทุกคน ดูสดหรือต่อมาเกี่ยวกับเรื่องนี้
นอกจากนี้แม้ว่าฉันไม่ได้ TF ผมยังมีมาก
ยินดีที่จะทำหน้าที่เป็นทางการ ที่ปรึกษาสำหรับทุกคนที่เป็น
โดยใช้การวิจัยในโครงการสุดท้าย
>> หากคุณต้องการนั้น แล้วก็พูดคุยกับ TF ของคุณ
แล้วเขียนอีเมลฉันเพื่อให้ ฉันรู้ว่าสิ่งที่คุณกำลังทำงาน
และเพื่อให้สามารถตั้งค่าการประชุม ครั้งกับคุณถ้าคุณต้องการ
ดังนั้นอีกครั้งขอบคุณมาก
ฉันหวังว่าคุณจะสนุกกับมัน
>> ผู้ชม: [ไม่ได้ยิน]
>> CONNER HARRIS: แน่นอน
>> ผู้ชม: สิ่งที่ชนิดของโครงการ นักเรียนจะใช้ซีอาร์?
CONNER HARRIS: ดังนั้นถ้าคุณไม่ได้ทำ สิ่งที่หมดจดในการทำเหมืองข้อมูล
เช่นและมี จำนวนมากของสิ่งที่
คุณสามารถทำกับที่มีข้อมูล การทำเหมืองแร่และการเรียนรู้เครื่อง
คุณอาจต้องการที่จะใช้สำหรับการวิจัย ส่วนหนึ่งของบางสิ่งบางอย่าง
ผมเติบโตขึ้นมา แต่เดิมเช่น หากคุณกำลังเขียนเว็บไซต์
และคุณต้องการที่จะทำงานโดยอัตโนมัติ วิเคราะห์ทางสถิติของเซิร์ฟเวอร์ของคุณ
บันทึกในเวลาที่แน่นอนทุกวัน ที่อาจจะมีบางสิ่งบางอย่างที่
ง่ายมากที่จะทำในเวลาเพียงสั้น ๆ สคริปต์ R ที่คุณสามารถกำหนด
เพื่อให้ทำงานได้ทุกคืนเช่น
>> และผมมั่นใจว่าถ้า มีเหตุผลที่คุณต้องการใด ๆ
ต้องการสถิติหรือความสามารถในการสร้างกราฟ และมีการทำงานนี้โดยอัตโนมัติแทน
ของการมีการโต้ตอบ กับสิ่งที่ใน Excel
เช่นว่าบางสิ่งบางอย่าง คุณอาจต้องการที่จะใช้สำหรับการวิจัย
ดังนั้นคำถามใด ๆ เพิ่มเติมก่อนที่ผมจะออก?
ไม่ได้หรือไม่
สิทธิทั้งหมดดีอีกครั้งขอบคุณ มากสำหรับการมา