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

R เป็นภาษาการเขียนโปรแกรมแบบโอเพนซอร์สและสภาพแวดล้อมซอฟต์แวร์สำหรับการคำนวณทางสถิติชีวสารสนเทศศาสตร์การสร้างภาพและการคำนวณทั่วไป โปรดให้ตัวอย่างที่น้อยที่สุดและทำซ้ำได้พร้อมกับผลลัพธ์ที่ต้องการ ใช้ `dput ()` สำหรับข้อมูลและระบุแพ็คเกจที่ไม่ใช่ฐานทั้งหมดด้วยการเรียก `library ()` อย่าฝังรูปภาพสำหรับข้อมูลหรือรหัสให้ใช้บล็อกรหัสเยื้องแทน สำหรับคำถามที่เกี่ยวข้องกับสถิติให้ใช้ https://stats.stackexchange.com

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 …

6
การรับและลบอักขระตัวแรกของสตริง
ฉันต้องการเดินแบบ 2 มิติโดยใช้สตริงของอักขระโดยกำหนดค่าที่แตกต่างกันให้กับตัวละครแต่ละตัว ฉันวางแผนที่จะ 'ป๊อป' อักขระตัวแรกของสตริงใช้มันและทำซ้ำสำหรับส่วนที่เหลือของสตริง ฉันจะบรรลุสิ่งนี้ได้อย่างไร? x <- 'hello stackoverflow' ฉันต้องการที่จะทำสิ่งนี้: a <- x.pop[1] print(a) 'h' print(x) 'ello stackoverflow'
106 string  r 

9
จัดชิดขอบกราฟสองด้านซ้าย (ggplot)
ฉันใช้ ggplot และมีกราฟสองกราฟที่ฉันต้องการแสดงด้านบนของกันและกัน ฉันใช้grid.arrangeจาก gridExtra เพื่อวางซ้อนกัน ปัญหาคือฉันต้องการให้ขอบด้านซ้ายของกราฟจัดแนวเช่นเดียวกับขอบด้านขวาโดยไม่คำนึงถึงป้ายกำกับแกน (ปัญหาเกิดขึ้นเนื่องจากป้ายกำกับของกราฟหนึ่งสั้นในขณะที่อีกกราฟหนึ่งยาว) คำถาม: ฉันจะทำสิ่งนี้ได้อย่างไร? ฉันไม่ได้แต่งงานกับกริดจัด แต่ ggplot2 เป็นสิ่งจำเป็น สิ่งที่ฉันได้ลอง: ฉันลองเล่นกับความกว้างและความสูงเช่นเดียวกับ ncol และ nrow เพื่อสร้างตาราง 2 x 2 และวางภาพในมุมตรงข้ามจากนั้นเล่นกับความกว้าง แต่ฉันไม่สามารถรับภาพในมุมตรงข้ามได้ . require(ggplot2);require(gridExtra) A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() grid.arrange(A, B, ncol=1)
105 r  ggplot2  gridextra  gtable 

4
วิธีเรียนรู้ R เป็นภาษาโปรแกรม [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการทราบวิธีการเรียนรู้ภาษา R เป็นภาษา 'การเขียนโปรแกรม' ซึ่งต่างจากการเรียนรู้เป็นระบบสถิติ คำถามของฉันได้รับแจ้งจากการขาดความเข้าใจเกี่ยวกับฟังก์ชันต่างๆเช่นการแยกวิเคราะห์การประเมิน ฯลฯ ซึ่งอาจไม่พบการใช้งานบ่อยครั้งโดยผู้ใช้ R ด้วยการโน้มน้าว 'สถิติ' แก้ไข: ฉันได้สำรวจเครื่องมือดังกล่าวเช่น Rpy RSPerl rJava และต้องการ (อย่างน้อยที่สุด) สามารถเข้าใจแนวคิดที่อำนวยความสะดวกในการสื่อสารของ R กับภาษาโปรแกรมอื่น ๆ ความพร้อมใช้งานของเว็บแอปพลิเคชันสำหรับ R (R-PHP, RApache และอื่น ๆ ) เป็นอีกหนึ่งปัจจัยกระตุ้นให้ฉันได้รับความเข้าใจที่ลึกซึ้งและมีโครงสร้างมากขึ้นเกี่ยวกับ R สุดท้าย แต่ไม่ท้ายสุดฉันต้องการที่จะสามารถเขียนแพ็คเกจ R ซึ่งความเข้าใจดังกล่าวจะเป็นประโยชน์หากไม่จำเป็น
105 r 

6
หมายเลขบรรทัดสคริปต์ R ที่ผิดพลาด?
หากฉันเรียกใช้สคริปต์ R แบบยาวจากบรรทัดคำสั่ง (R --slave script.R) ฉันจะทำให้หมายเลขบรรทัดมีข้อผิดพลาดได้อย่างไร ฉันไม่ต้องการเพิ่มคำสั่ง debug ในสคริปต์ถ้าเป็นไปได้ - ฉันแค่อยากให้ R ทำงานเหมือนภาษาสคริปต์อื่น ๆ ...
105 debugging  r 

13
จะคำนวณจำนวนการเกิดขึ้นของอักขระที่กำหนดในแต่ละแถวของคอลัมน์สตริงได้อย่างไร?
ฉันมี data.frame ที่ตัวแปรบางตัวมีสตริงข้อความ ฉันต้องการนับจำนวนครั้งของอักขระที่กำหนดในแต่ละสตริง ตัวอย่าง: q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not")) ฉันต้องการสร้างคอลัมน์ใหม่สำหรับ q.data ที่มีจำนวนครั้งของ "a" ในสตริง (เช่น c (2,1,0)) วิธีเดียวที่ซับซ้อนที่ฉันจัดการได้คือ: string.counter<-function(strings, pattern){ counts<-NULL for(i in 1:length(strings)){ counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0]) } return(counts) } string.counter(strings=q.data$string, pattern="a") number string number.of.a 1 1 greatgreat 2 2 2 magic 1 3 3 not 0
105 regex  r  dataframe 

4
จะใช้สัญลักษณ์กรีกใน ggplot2 ได้อย่างไร?
หมวดหมู่ของฉันต้องตั้งชื่อด้วยตัวอักษรกรีก ฉันใช้ggplot2งานอยู่และใช้งานได้ดีกับข้อมูล น่าเสียดายที่ฉันไม่สามารถหาวิธีใส่สัญลักษณ์กรีกเหล่านั้นบนแกน x ได้ (ที่เครื่องหมายถูก) และทำให้มันปรากฏในคำอธิบายแผนภูมิ มีวิธีใดบ้างที่จะทำได้? อัปเดต: ฉันได้ดูลิงก์แล้วอย่างไรก็ตามไม่มีวิธีการที่ดีที่อธิบายถึงการบรรลุสิ่งที่ฉันต้องการ
105 r  graphics  unicode  utf-8  ggplot2 

2
วิธีใส่ป้ายกำกับบน geom_bar สำหรับแต่ละแถบใน R ด้วย ggplot2
ฉันพบสิ่งนี้วิธีใส่ป้ายกำกับบน geom_bar ใน R ด้วย ggplot2แต่เพียงแค่ใส่ป้ายกำกับ (ตัวเลข) ไว้บนแถบเดียวเท่านั้น นี่คือสมมุติว่าแท่งสองแท่งสำหรับแต่ละแกน x จะทำสิ่งเดียวกันได้อย่างไร? ข้อมูลและรหัสของฉันมีลักษณะดังนี้: dat <- read.table(text = "sample Types Number sample1 A 3641 sample2 A 3119 sample1 B 15815 sample2 B 12334 sample1 C 2706 sample2 C 3147", header=TRUE) library(ggplot2) bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) + geom_bar(position = 'dodge') + …
105 r  ggplot2  bar-chart 

5
ปิดการใช้งานข้อความเมื่อโหลดแพ็คเกจ
ฉันมีแพ็คเกจใน R (ROCR) ที่ฉันต้องโหลดในสภาพแวดล้อม R ของฉัน เมื่อโหลดแพคเกจชุดข้อความจะถูกพิมพ์ออกมา โดยปกติจะใช้ได้ดี แต่เนื่องจากเอาต์พุตของสคริปต์ R ของฉันถูกใช้เพื่อการวิเคราะห์เพิ่มเติมฉันจึงต้องการปิดใช้งานเอาต์พุตทั้งหมดนี้โดยสิ้นเชิง ฉันจะทำอย่างไร นอกจากนี้ฉันต้องการทำโดยไม่ต้องแก้ไข ROCR เลยเพื่อให้ผู้ใช้สคริปต์นี้ในอนาคตไม่ต้องทำเช่นนั้น จนถึงตอนนี้: sink()ใช้ไม่ได้ที่นี่ - การเปลี่ยนเส้นทางทั้ง stdout และ std err เพื่อ/dev/nullไม่ทำอะไรให้ฉัน ไม่น่าแปลกใจที่options(warnings=-1)ไม่ได้ทำอะไรเลยเนื่องจากสิ่งเหล่านี้ไม่ใช่คำเตือนต่อการพิมพ์ ความคิดใด ๆ ?

7
ลบเส้นตารางสีพื้นหลังและเส้นขอบด้านบนและด้านขวาออกจาก ggplot2
ฉันต้องการทำซ้ำพล็อตด้านล่างทันทีโดยใช้ ggplot2 ฉันสามารถเข้ามาใกล้ได้ แต่ไม่สามารถลบเส้นขอบด้านบนและด้านขวาได้ ด้านล่างนี้ฉันนำเสนอความพยายามหลายครั้งโดยใช้ ggplot2 รวมถึงคำแนะนำหลายอย่างที่พบในหรือผ่าน Stackoverflow น่าเสียดายที่ฉันไม่สามารถรับคำแนะนำเหล่านั้นในการทำงานได้ ฉันหวังว่าอาจมีคนแก้ไขข้อมูลโค้ดด้านล่างได้อย่างน้อยหนึ่งรายการ ขอบคุณสำหรับคำแนะนำใด ๆ # desired plot a <- seq(1,20) b <- a^0.25 plot(a,b, bty = "l") library(ggplot2) df <- as.data.frame(cbind(a,b)) # 1. ggplot2 default ggplot(df, aes(x = a, y = b)) + geom_point() # 2. removes background color ggplot(df, aes(x = …
104 r  ggplot2 

4
วิธีแยกวิเคราะห์ XML เป็น R data frame
ฉันพยายามแยกวิเคราะห์ XML เป็น R data frame ลิงก์นี้ช่วยฉันได้มาก: วิธีสร้างเฟรมข้อมูล R จากไฟล์ xml แต่ฉันก็ยังไม่สามารถเข้าใจปัญหาของฉันได้: นี่คือรหัสของฉัน: data <- xmlParse("http://forecast.weather.gov/MapClick.php?lat=29.803&lon=-82.411&FcstType=digitalDWML") xmlToDataFrame(nodes=getNodeSet(data1,"//data"))[c("location","time-layout")] step1 <- xmlToDataFrame(nodes=getNodeSet(data1,"//location/point"))[c("latitude","longitude")] step2 <- xmlToDataFrame(nodes=getNodeSet(data1,"//time-layout/start-valid-time")) step3 <- xmlToDataFrame(nodes=getNodeSet(data1,"//parameters/temperature"))[c("type="hourly"")] กรอบข้อมูลที่ฉันต้องการมีดังนี้: latitude longitude start-valid-time hourly_temperature 29.803 -82.411 2013-06-19T15:00:00-04:00 91 29.803 -82.411 2013-06-19T16:00:00-04:00 90 ฉันติดอยู่ที่ความxmlToDataFrame()ช่วยเหลือใด ๆ จะได้รับการชื่นชมมากขอบคุณ
104 xml  r 

4
R: ใช้ตัวดำเนินการท่อ magrittr ในแพ็คเกจที่เขียนขึ้นเอง
ฉันต้องการใช้ตัวดำเนินการไปป์ที่%>%แนะนำในmagrittrแพ็คเกจในแพ็คเกจที่ฉันเขียนเองเพื่อเชื่อมโยงการdplyrแปลงข้อมูล magrittrแสดงอยู่ImportในDESCRIPTIONไฟล์ หลังจากโหลดแพ็คเกจของฉันเองและทดสอบฟังก์ชันที่ใช้ตัวดำเนินการไปป์ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดในชื่อฟังก์ชัน (พารามิเตอร์: ไม่พบฟังก์ชัน "%>%" การเปลี่ยน%>%ไปใช้magrittr::%>%ในซอร์สโค้ดของฟังก์ชันไม่ได้ช่วยอย่างใดอย่างหนึ่งเนื่องจากไม่สามารถสร้างแพ็คเกจได้อีกต่อไป
104 r  namespaces  magrittr 

3
จะรวมไฟล์ RMarkdown (.Rmd) สองไฟล์เป็นเอาต์พุตเดียวได้อย่างไร
ฉันมีสองไฟล์ในโฟลเดอร์เดียวกัน: chapter1.Rmd และ chapter2.Rmd โดยมีเนื้อหาดังต่อไปนี้: Chapter1.Rmd --- title: "Chapter 1" output: pdf_document --- ## This is chapter 1. {#Chapter1} Next up: [chapter 2](#Chapter2) Chapter2.Rmd --- title: "Chapter 2" output: pdf_document --- ## This is chapter 2. {#Chapter2} Previously: [chapter 1](#Chapter1) ฉันจะถักสิ่งเหล่านี้เพื่อรวมเป็นไฟล์ PDF เดียวได้อย่างไร แน่นอนว่าrender(input = "chapter1.Rmd", output_format = "pdf_document")ทำงานได้อย่างสมบูรณ์ แต่render(input …
104 r  knitr  pandoc  r-markdown 

5
วิธีรับแถวจาก R data.frame
ฉันมี data.frame ที่มีส่วนหัวของคอลัมน์ ฉันจะรับแถวเฉพาะจาก data.frame เป็นรายการได้อย่างไร (โดยมีส่วนหัวคอลัมน์เป็นคีย์สำหรับรายการ) โดยเฉพาะ data.frame ของฉันคือ ABC 1 5 4.25 4.5 2 3.5 4 2.5 3 3.25 4 4 4 4.25 4.5 2.25 5 1.5 4.5 3 และผมอยากได้แถวที่เทียบเท่ากับ > c(a=5, b=4.25, c=4.5) a b c 5.0 4.25 4.5
103 r  indexing  dataframe 

3
การวนซ้ำเมื่อ“ คำเตือน ()” ปรากฏใน R
ฉันมีปัญหา: ฉันกำลังดำเนินการวนซ้ำเพื่อประมวลผลไฟล์หลายไฟล์ เมทริกซ์ของฉันมีขนาดใหญ่มากดังนั้นฉันมักจะมีหน่วยความจำไม่เพียงพอหากฉันไม่ระวัง มีวิธีที่จะแยกออกจากการวนซ้ำหากมีการสร้างคำเตือนหรือไม่? มันทำงานวนไปเรื่อย ๆ และรายงานว่ามันล้มเหลวในภายหลัง ... น่ารำคาญ ความคิดใด ๆ ที่ชาญฉลาด stackoverflow-ers ?!
103 r  loops  warnings  break 

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