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

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

9
โทรกลับอย่างชัดเจนในฟังก์ชั่นหรือไม่
ในขณะที่ฉันถูก rebukedโดย Simon Urbanek จากทีม R core (ฉันเชื่อว่า) สำหรับการแนะนำผู้ใช้ให้เรียกอย่างชัดเจนreturnในตอนท้ายของฟังก์ชั่น (ความคิดเห็นของเขาถูกลบแม้ว่า): foo = function() { return(value) } เขาแนะนำแทน: foo = function() { value } อาจเป็นในสถานการณ์เช่นนี้มันเป็นสิ่งจำเป็น: foo = function() { if(a) { return(a) } else { return(b) } } ความคิดเห็นของเขาทำให้เข้าใจได้ว่าทำไมไม่โทรหาreturnถ้าไม่ต้องการอย่างเคร่งครัดก็เป็นเรื่องดี คำถามของฉันคือทำไมไม่โทรreturnเร็วหรือดีกว่าและดีกว่า?
199 r 

7
พิมพ์สตริงและเนื้อหาตัวแปรในบรรทัดเดียวกันใน R
มีวิธีพิมพ์ข้อความและเนื้อหาตัวแปรในบรรทัดเดียวกันหรือไม่? ตัวอย่างเช่น, wd <- getwd() print("Current working dir: ", wd) ฉันไม่พบอะไรเกี่ยวกับไวยากรณ์ที่จะทำให้ฉันทำเช่นนี้
199 r  printing 

4
R - Markdown หลีกเลี่ยงข้อความโหลดแพคเกจ
ฉันใช้ Knitr ผ่านทาง R-Studio และคิดว่ามันค่อนข้างเรียบร้อย ฉันมีปัญหาเล็กน้อยว่า เมื่อฉันแหล่งที่มาของไฟล์ใน R-Chunk เอาท์พุท knitr รวมถึงความคิดเห็นภายนอกดังนี้: + FALSE Loading required package: ggplot2 + FALSE Loading required package: gridExtra + FALSE Loading required package: grid + FALSE Loading required package: VGAM + FALSE Loading required package: splines + FALSE Loading required package: stats4 + FALSE Attaching …

8
คุณจะลบคอลัมน์ตามชื่อใน data.table ได้อย่างไร?
หากต้องการกำจัดคอลัมน์ชื่อ "foo" ใน a data.frameฉันสามารถทำได้: df <- df[-grep('foo', colnames(df))] อย่างไรก็ตามเมื่อdfถูกแปลงเป็นdata.tableวัตถุจะไม่มีวิธีเพียงแค่ลบคอลัมน์ ตัวอย่าง: df <- data.frame(id = 1:100, foo = rnorm(100)) df2 <- df[-grep('foo', colnames(df))] # works df3 <- data.table(df) df3[-grep('foo', colnames(df3))] แต่เมื่อมันถูกแปลงเป็นdata.tableวัตถุสิ่งนี้จะไม่ทำงานอีกต่อไป
196 r  data.table 

2
การทำความเข้าใจอย่างแน่นอนเมื่อ data.table เป็นการอ้างอิงถึง (เทียบกับสำเนา) data.table อื่น
ฉันมีปัญหาเล็ก ๆ น้อย ๆ data.tableในการทำความเข้าใจคุณสมบัติที่ผ่านโดยการอ้างอิงของ การดำเนินการบางอย่างดูเหมือนจะ 'ทำลาย' ข้อมูลอ้างอิงและฉันต้องการที่จะเข้าใจว่าเกิดอะไรขึ้น ในการสร้างdata.tableจากที่อื่นdata.table(ผ่าน<-จากนั้นอัปเดตตารางใหม่โดย:=ตารางเดิมจะถูกเปลี่ยนด้วยเช่นกันซึ่งเป็นไปตาม: ?data.table::copy และstackoverflow: แพ็คเกจการส่งผ่านข้อมูลอ้างอิงโดยผู้ปฏิบัติงาน นี่คือตัวอย่าง: library(data.table) DT <- data.table(a=c(1,2), b=c(11,12)) print(DT) # a b # [1,] 1 11 # [2,] 2 12 newDT <- DT # reference, not copy newDT[1, a := 100] # modify new DT print(DT) # DT is modified …

9
เร่งความเร็วการวนรอบใน R
ฉันมีปัญหาประสิทธิภาพการทำงานขนาดใหญ่ในอาร์ฉันเขียนฟังก์ชันที่วนซ้ำdata.frameวัตถุ มันเพิ่มคอลัมน์ใหม่ลงใน a data.frameและสะสมบางอย่าง (ใช้งานง่าย) data.frameมีประมาณ 850K แถว พีซีของฉันยังคงใช้งานได้ (ประมาณ 10 ชั่วโมง) และฉันไม่รู้ว่ารันไทม์ dayloop2 <- function(temp){ for (i in 1:nrow(temp)){ temp[i,10] <- i if (i > 1) { if ((temp[i,6] == temp[i-1,6]) & (temp[i,3] == temp[i-1,3])) { temp[i,10] <- temp[i,9] + temp[i-1,10] } else { temp[i,10] <- temp[i,9] } } …
193 performance  r  loops  rcpp  r-faq 

4
เลียนแบบจานสีเริ่มต้น ggplot2
ฉันสามารถใช้ฟังก์ชันใดเพื่อเลียนแบบจานสีเริ่มต้นของ ggplot2 สำหรับจำนวนสีที่ต้องการ ตัวอย่างเช่นอินพุต 3 จะสร้างเวกเตอร์อักขระของสี HEX ด้วยสีเหล่านี้:
192 r  ggplot2 

5
แสดง / พิมพ์แถวทั้งหมดของ tibble (tbl_df)
tibble(ก่อนหน้านี้tbl_df) เป็นรุ่นของกรอบข้อมูลที่สร้างขึ้นโดยdplyrแพคเกจการจัดการกรอบข้อมูลในอาร์มันจะป้องกันการแสดงผลตารางยาวเมื่อเรียกเฟรมข้อมูลโดยไม่ตั้งใจ เมื่อกรอบข้อมูลถูกล้อมรอบด้วยtibble/ tbl_dfมีคำสั่งให้ดูกรอบข้อมูลทั้งหมดหรือไม่ (แถวและคอลัมน์ทั้งหมดของกรอบข้อมูล)? ถ้าฉันใช้df[1:100,]ฉันจะเห็นทั้ง 100 แถว แต่ถ้าฉันใช้df[1:101,]มันจะแสดงเฉพาะ 10 แถวแรกเท่านั้น ฉันต้องการแสดงแถวทั้งหมดอย่างง่ายดายเพื่อเลื่อนดูอย่างรวดเร็ว มีคำสั่ง dplyr ที่จะตอบโต้เรื่องนี้หรือวิธีแกะเฟรมข้อมูลหรือไม่?
192 r  dplyr  options  display 

7
ลบค่า NA ออกจากเวกเตอร์
ฉันมีเวกเตอร์ขนาดใหญ่ที่มีค่าอยู่สองสามNAค่าและฉันพยายามหาค่าสูงสุดในเวกเตอร์นั้น (เวกเตอร์นั้นเป็นตัวเลขทั้งหมด) แต่ฉันทำไม่ได้เพราะNAค่า ฉันจะลบNAค่าต่างๆเพื่อให้สามารถคำนวณค่าสูงสุดได้อย่างไร
191 r  max  min  na  missing-data 

5
เพิ่มจำนวนของการเห็บแกน
ฉันกำลังสร้างแปลงสำหรับข้อมูลบางส่วน แต่จำนวนเห็บมีขนาดเล็กเกินไปฉันต้องการความแม่นยำในการอ่านมากขึ้น มีวิธีใดบ้างที่จะเพิ่มจำนวนของเครื่องหมายแกนใน ggplot2? ฉันรู้ว่าฉันสามารถบอก ggplot ให้ใช้เวกเตอร์เป็นเครื่องหมายถูกในแกน แต่สิ่งที่ฉันต้องการคือการเพิ่มจำนวนของเห็บสำหรับข้อมูลทั้งหมด กล่าวอีกนัยหนึ่งฉันต้องการคำนวณหมายเลขติ๊กจากข้อมูล อาจเป็นไปได้ที่ ggplot ทำสิ่งนี้ภายในด้วยอัลกอริทึมบางอย่าง แต่ฉันไม่สามารถหาวิธีที่จะเปลี่ยนแปลงตามสิ่งที่ฉันต้องการ
191 r  ggplot2 


7
การเปลี่ยนขนาดตัวอักษรและทิศทางของข้อความในแกน ggplot2
ฉันกำลังพล็อตกราฟด้วยตัวแปรเด็ดขาดบนแกน x และตัวแปรตัวเลขบนแกน y สำหรับแกน x เนื่องจากมีจุดข้อมูลมากมายการจัดรูปแบบข้อความเริ่มต้นจะทำให้ป้ายกำกับสำหรับแต่ละเครื่องหมายติ๊กซ้อนทับกับป้ายกำกับอื่น ๆ ฉัน (a) เปลี่ยนขนาดตัวอักษรสำหรับข้อความแกนของฉันได้อย่างไรและ (ข) เปลี่ยนการวางแนวของข้อความเพื่อให้ข้อความตั้งฉากกับแกน
188 r  ggplot2 

4
กรองแถวที่มีสตริงที่แน่นอน
RTBฉันต้องกรองกรอบข้อมูลโดยใช้เป็นเกณฑ์แถวผู้ที่อยู่ในที่มีอยู่สตริง dplyrฉันใช้ d.del <- df %>% group_by(TrackingPixel) %>% summarise(MonthDelivery = as.integer(sum(Revenue))) %>% arrange(desc(MonthDelivery)) ฉันรู้ว่าฉันสามารถใช้ฟังก์ชั่นfilterในdplyrแต่ฉันทำไม่ได้ว่าวิธีการบอกให้ตรวจสอบเนื้อหาของสตริง TrackingPixelโดยเฉพาะอย่างยิ่งผมต้องการที่จะตรวจสอบเนื้อหาในคอลัมน์ หากสตริงมีฉลากRTBฉันต้องการลบแถวจากผล
188 r  filter  dplyr 

2
การใช้ ~ (tilde) ในภาษาโปรแกรม R
ฉันเห็นในการสอนเกี่ยวกับการสร้างแบบจำลองการถดถอยคำสั่งต่อไปนี้: myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width คำสั่งนี้ทำอะไรกันแน่และบทบาทของ~(tilde) ในคำสั่งคืออะไร?
187 r  r-faq 

14
เวิร์กโฟลว์สำหรับการวิเคราะห์เชิงสถิติและการเขียนรายงาน
ไม่มีใครมีภูมิปัญญาในเวิร์กโฟลว์สำหรับการวิเคราะห์ข้อมูลที่เกี่ยวข้องกับการเขียนรายงานที่กำหนดเองหรือไม่? การใช้เคสเป็นแบบนี้: ลูกค้ารายงานค่าคอมมิชชั่นที่ใช้การวิเคราะห์ข้อมูลเช่นการประมาณประชากรและแผนที่ที่เกี่ยวข้องสำหรับเขตน้ำ นักวิเคราะห์ดาวน์โหลดข้อมูลบางส่วนรวมข้อมูลและบันทึกผลลัพธ์ (เช่นการเพิ่มคอลัมน์สำหรับประชากรต่อหน่วยหรือการย่อยข้อมูลตามขอบเขตเขต) นักวิเคราะห์วิเคราะห์ข้อมูลที่สร้างใน (2) เข้าใกล้เป้าหมายของเธอ แต่เห็นว่าต้องการข้อมูลมากขึ้นและกลับไปที่ (1) ล้างซ้ำจนกระทั่งตารางและกราฟิกตรงตาม QA / QC และทำให้ลูกค้าพึงพอใจ เขียนรายงานผสมผสานตารางและกราฟิก ปีหน้าลูกค้าที่มีความสุขกลับมาและต้องการการอัปเดต สิ่งนี้ควรเป็นเรื่องง่ายเหมือนการอัปเดตข้อมูลอัปสตรีมด้วยการดาวน์โหลดใหม่ (เช่นได้รับใบอนุญาตก่อสร้างจากปีที่แล้ว) และกดปุ่ม "คำนวณ" เว้นแต่ว่าข้อกำหนดจะเปลี่ยนไป ในขณะนี้ฉันเพิ่งเริ่มไดเรกทอรีและเฉพาะกิจมันที่ดีที่สุดที่ฉันสามารถทำได้ ฉันต้องการวิธีการที่เป็นระบบมากขึ้นดังนั้นฉันหวังว่าจะมีใครบางคนคิดออก ... ฉันใช้สเปรดชีต, SQL, ARCGIS, R และ Unix ขอบคุณ! PS: ด้านล่างเป็น Makefile พื้นฐานที่ตรวจสอบการพึ่งพาชุดข้อมูลกลาง (w / .RDataส่วนต่อท้าย) และสคริปต์ ( .Rส่วนต่อท้าย) ต่างๆ Make ใช้ timestamps เพื่อตรวจสอบการขึ้นต่อกันดังนั้นหากคุณคุณtouch ss07por.csvจะเห็นว่าไฟล์นี้ใหม่กว่าไฟล์ / เป้าหมายทั้งหมดที่ขึ้นอยู่กับมันและรันสคริปต์ที่กำหนดเพื่ออัปเดตให้สอดคล้องกัน …

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