คำถามติดแท็ก r-faq

แท็ก r-faq ถูกสร้างขึ้นเพื่อจัดกลุ่มคำถามจำนวน จำกัด ที่พูดถึงปัญหาที่เกิดขึ้นเป็นประจำในแท็ก R ไม่ใช่คำถามที่พบบ่อยอย่างเป็นทางการเกี่ยวกับ R สำหรับ SO แต่ควรทำหน้าที่เป็นแหล่งข้อมูลที่น่าสนใจเกี่ยวกับปัญหาที่พบบ่อย

10
วิธีแก้ปัญหาความคิดเห็นหลายบรรทัด?
ฉัน (เรียงลำดับ) รู้คำตอบสำหรับคำถามนี้แล้ว แต่ฉันคิดว่ามันเป็นสิ่งที่ถูกถามบ่อยมากในรายการผู้ใช้ R ซึ่งควรมีคำตอบที่ดีที่มั่นคง จากความรู้ที่ดีที่สุดของฉันไม่มีฟังก์ชันการแสดงความคิดเห็นแบบหลายบรรทัดใน R ดังนั้นใครมีวิธีแก้ปัญหาที่ดีหรือไม่? แม้ว่างานใน R มักจะเกี่ยวข้องกับเซสชันแบบโต้ตอบ (ซึ่งทำให้เกิดข้อสงสัยเกี่ยวกับความจำเป็นในการแสดงความคิดเห็นหลายบรรทัด) แต่ก็มีบางครั้งที่ฉันต้องส่งสคริปต์ไปยังเพื่อนร่วมงานและเพื่อนร่วมชั้นซึ่งส่วนใหญ่เกี่ยวข้องกับบล็อกโค้ดที่ไม่สำคัญ และสำหรับคนที่มาจากภาษาอื่นมันเป็นคำถามที่ค่อนข้างเป็นธรรมชาติ ในอดีตฉันเคยใช้คำพูด เนื่องจากสตริงรองรับการแบ่งบรรทัดการรันสคริปต์ R ด้วย " Here's my multiline comment. " a <- 10 rocknroll.lm <- lm(blah blah blah) ... ใช้งานได้ดี ใครมีวิธีแก้ไขที่ดีกว่านี้ไหม
108 r  comments  r-faq 

2
ความสับสนระหว่างระดับปัจจัยและป้ายกำกับปัจจัย
ดูเหมือนจะมีความแตกต่างระหว่างระดับและป้ายกำกับของปัจจัยใน R จนถึงตอนนี้ฉันคิดเสมอว่าระดับเป็นชื่อ 'จริง' ของระดับปัจจัยและป้ายกำกับเป็นชื่อที่ใช้สำหรับเอาต์พุต (เช่นตารางและพล็อต) . เห็นได้ชัดว่านี่ไม่ใช่กรณีดังตัวอย่างต่อไปนี้: df <- data.frame(v=c(1,2,3),f=c('a','b','c')) str(df) 'data.frame': 3 obs. of 2 variables: $ v: num 1 2 3 $ f: Factor w/ 3 levels "a","b","c": 1 2 3 df$f <- factor(df$f, levels=c('a','b','c'), labels=c('Treatment A: XYZ','Treatment B: YZX','Treatment C: ZYX')) levels(df$f) [1] "Treatment A: XYZ" …
106 r  r-factor  r-faq 

8
รวมคอลัมน์สองคอลัมน์ขึ้นไปใน dataframe เป็นคอลัมน์ใหม่โดยใช้ชื่อใหม่
ตัวอย่างเช่นถ้าฉันมีสิ่งนี้: n = c(2, 3, 5) s = c("aa", "bb", "cc") b = c(TRUE, FALSE, TRUE) df = data.frame(n, s, b) n s b 1 2 aa TRUE 2 3 bb FALSE 3 5 cc TRUE แล้วฉันจะรวมทั้งสองคอลัมน์nและsในคอลัมน์ใหม่ชื่อxดังกล่าวว่ามีลักษณะเช่นนี้ n s b x 1 2 aa TRUE 2 aa 2 3 bb …

1
ตั้งค่ามิเรอร์ CRAN เริ่มต้นแบบถาวรใน R
ฉันจะตั้งค่ามิเรอร์ CRAN เฉพาะอย่างถาวรใน R ได้อย่างไร ฉันต้องการตั้งค่าอย่างถาวรในแล็ปท็อปของฉันเพื่อที่ว่าinstall.packages()จะได้ไม่ถามฉันอีกว่าจะเลือกกระจกแบบไหน
102 r  cran  r-faq 

10
วางหลายคอลัมน์เข้าด้วยกัน
ฉันมีคอลัมน์จำนวนหนึ่งในดาต้าเฟรมที่ฉันต้องการวางเข้าด้วยกัน (คั่นด้วย "-") ดังนี้: data <- data.frame('a' = 1:3, 'b' = c('a','b','c'), 'c' = c('d', 'e', 'f'), 'd' = c('g', 'h', 'i')) i.e. a b c d 1 a d g 2 b e h 3 c f i ที่ฉันอยากจะเป็น: a x 1 a-d-g 2 b-e-h 3 c-f-i โดยปกติฉันสามารถทำได้ด้วย: within(data, …
100 r  paste  r-faq 

6
จะตั้งชื่อตัวแปรได้อย่างไร?
สามารถสร้างชื่อตัวแปรใหม่ได้ทันทีหรือไม่? ฉันต้องการอ่าน data frames จากรายการไปยังตัวแปรใหม่พร้อมตัวเลขต่อท้าย บางอย่างเช่น orca1, orca2, orca3 ... ถ้าลองของชอบ paste("orca",i,sep="")=list_name[[i]] ฉันได้รับข้อผิดพลาดนี้ target of assignment expands to non-language object มีวิธีอื่นอีกไหม
99 r  assign  r-faq 


5
การรวมกันที่ไม่ซ้ำกันขององค์ประกอบทั้งหมดตั้งแต่เวกเตอร์สอง (หรือมากกว่า)
ฉันพยายามสร้างชุดค่าผสมที่เป็นเอกลักษณ์ขององค์ประกอบทั้งหมดจากเวกเตอร์สองตัวที่มีขนาดต่างกันใน R ตัวอย่างเช่นเวกเตอร์แรกคือ a <- c("ABC", "DEF", "GHI") และวันที่สองคือวันที่ที่จัดเก็บเป็นสตริงในปัจจุบัน b <- c("2012-05-01", "2012-05-02", "2012-05-03", "2012-05-04", "2012-05-05") ฉันต้องการสร้าง data frame ที่มีสองคอลัมน์เช่นนี้ > data a b 1 ABC 2012-05-01 2 ABC 2012-05-02 3 ABC 2012-05-03 4 ABC 2012-05-04 5 ABC 2012-05-05 6 DEF 2012-05-01 7 DEF 2012-05-02 8 DEF 2012-05-03 9 DEF …
97 r  r-faq 


5
การปรับเส้นโค้งความหนาแน่นให้พอดีกับฮิสโตแกรมใน R
มีฟังก์ชันใน R ที่พอดีกับเส้นโค้งของฮิสโตแกรมหรือไม่? สมมติว่าคุณมีฮิสโตแกรมต่อไปนี้ hist(c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4))) มันดูธรรมดา แต่มันเบ้ ฉันต้องการพอดีกับเส้นโค้งปกติที่เอียงเพื่อพันรอบฮิสโตแกรมนี้ คำถามนี้ค่อนข้างธรรมดา แต่ดูเหมือนจะหาคำตอบสำหรับ R บนอินเทอร์เน็ตไม่ได้

16
วิธีเลือกแถวที่มีค่าสูงสุดในแต่ละกลุ่ม
ในชุดข้อมูลที่มีการสังเกตหลายครั้งสำหรับแต่ละเรื่องฉันต้องการใช้ชุดย่อยที่มีค่าข้อมูลสูงสุดสำหรับแต่ละระเบียนเท่านั้น ตัวอย่างเช่นชุดข้อมูลต่อไปนี้: ID <- c(1,1,1,2,2,2,2,3,3) Value <- c(2,3,5,2,5,8,17,3,5) Event <- c(1,1,2,1,2,1,2,2,2) group <- data.frame(Subject=ID, pt=Value, Event=Event) Subject 1, 2, และ 3 มีค่า pt มากที่สุดคือ 5, 17 และ 5 ตามลำดับ ฉันจะหาค่า pt ที่ใหญ่ที่สุดสำหรับแต่ละเรื่องได้อย่างไรจากนั้นจึงใส่ข้อสังเกตนี้ในกรอบข้อมูลอื่น กรอบข้อมูลผลลัพธ์ควรมีค่า pt ที่ใหญ่ที่สุดสำหรับแต่ละเรื่องเท่านั้น
94 r  dataframe  r-faq 



7
กำลังแปลงปีและเดือน (รูปแบบ“ ปปปป - มม”) เป็นวันที่หรือไม่
ฉันมีชุดข้อมูลที่มีลักษณะดังนี้: Month count 2009-01 12 2009-02 310 2009-03 2379 2009-04 234 2009-05 14 2009-08 1 2009-09 34 2009-10 2386 ฉันต้องการลงจุดข้อมูล (เดือนเป็นค่า x และนับเป็นค่า y) เนื่องจากมีช่องว่างในข้อมูลฉันจึงต้องการแปลงข้อมูลสำหรับเดือนเป็นวันที่ ฉันเหนื่อย: as.Date("2009-03", "%Y-%m") แต่มันไม่ได้ผล มีอะไรผิดปกติ ดูเหมือนว่าวันที่ () ต้องการวันด้วยและไม่สามารถกำหนดค่ามาตรฐานสำหรับวันได้ ฟังก์ชันใดที่ช่วยแก้ปัญหาของฉันได้
93 r  date  posix  zoo  r-faq 

7
ทำความเข้าใจกับฟังก์ชัน order ()
ฉันพยายามทำความเข้าใจว่าไฟล์ order()ฟังก์ชันทำงานอย่างไร ฉันรู้สึกว่ามันส่งคืนการเปลี่ยนแปลงของดัชนีซึ่งเมื่อเรียงลำดับแล้วจะเรียงเวกเตอร์เดิม ตัวอย่างเช่น > a <- c(45,50,10,96) > order(a) [1] 3 1 2 4 ฉันคาดหวังว่าสิ่งนี้จะกลับมา c(2, 3, 1, 4)เนื่องจากรายการที่จัดเรียงจะเป็น 10 45 50 96 ใครช่วยฉันเข้าใจค่าส่งคืนของฟังก์ชันนี้ได้ไหม
89 r  sorting  r-faq 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.