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

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

14
นับจำนวนแถวในแต่ละกลุ่ม
ฉันมี dataframe และฉันต้องการนับจำนวนแถวในแต่ละกลุ่ม ฉันใช้aggregateฟังก์ชันเพื่อสรุปข้อมูลดังต่อไปนี้: df2 <- aggregate(x ~ Year + Month, data = df1, sum) ตอนนี้ผมอยากจะนับข้อสังเกต FUNแต่ไม่สามารถดูเหมือนจะหาข้อโต้แย้งที่เหมาะสมสำหรับ โดยสัญชาตญาณฉันคิดว่ามันจะเป็นดังนี้: df2 <- aggregate(x ~ Year + Month, data = df1, count) แต่โชคไม่ดี ความคิดใด ๆ ? ข้อมูลของเล่นบางส่วน: set.seed(2) df1 <- data.frame(x = 1:20, Year = sample(2012:2014, 20, replace = TRUE), Month = sample(month.abb[1:3], …
121 r  dataframe  aggregate  r-faq 

13
คำแนะนำทั่วไปสำหรับการดีบักใน R
ฉันได้รับข้อผิดพลาดเมื่อใช้ฟังก์ชัน R ที่ฉันเขียน: Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: algorithm did not converge สิ่งที่ฉันทำ: ก้าวผ่านฟังก์ชั่น glm.fitการเพิ่มการพิมพ์เพื่อหาสิ่งที่สายข้อผิดพลาดเกิดขึ้นแสดงให้เห็นทั้งสองฟังก์ชั่นที่ไม่ควรใช้ พวกเขาเป็นและwindow()save() วิธีการทั่วไปของฉันรวมถึงการเพิ่มprintและstopคำสั่งและการดำเนินการตามฟังก์ชันทีละบรรทัดจนกระทั่งฉันสามารถค้นหาข้อยกเว้นได้ อย่างไรก็ตามไม่ชัดเจนสำหรับฉันที่ใช้เทคนิคเหล่านั้นซึ่งข้อผิดพลาดนี้มาจากโค้ด glm.fitผมไม่ได้บางอย่างที่ฟังก์ชั่นภายในรหัสขึ้นอยู่กับ ฉันจะวินิจฉัยปัญหานี้ได้อย่างไร
120 r  debugging  r-faq 

2
การแก้ไขป้ายกำกับคำอธิบาย (ข้อความ) ใน ggplot
ฉันใช้เวลาหลายชั่วโมงในการค้นหาเอกสารและบน StackOverflow แต่ดูเหมือนว่าไม่มีวิธีใดที่จะช่วยแก้ปัญหาของฉันได้ เมื่อใช้ggplotฉันไม่สามารถรับข้อความที่ถูกต้องในคำอธิบายแผนภูมิแม้ว่าจะอยู่ในดาต้าเฟรมของฉันก็ตาม ฉันได้ลองscale_colour_manualแล้วscale_fill_manualด้วยค่าที่แตกต่างกันlabels=เช่นc("T999", "T888")", "cols". นี่คือรหัสของฉัน: T999 <- runif(10, 100, 200) T888 <- runif(10, 200, 300) TY <- runif(10, 20, 30) df <- data.frame(T999, T888, TY) ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + geom_point(size = 15, colour = "darkblue") + geom_point(data = df, aes(x=T888, y=TY), colour = 'red', …
120 r  text  ggplot2  label 

4
การระบุวัตถุ R
ฉันมักจะจบลงด้วยฟังก์ชันที่สร้างเอาต์พุตซึ่งฉันไม่เข้าใจประเภทข้อมูลเอาต์พุต ฉันคาดหวังว่าจะได้รายการและจะกลายเป็นรายการหรือกรอบข้อมูลหรืออย่างอื่น วิธีการหรือขั้นตอนการทำงานที่ดีในการหาชนิดข้อมูลเอาต์พุตเมื่อใช้ฟังก์ชันครั้งแรกเป็นอย่างไร
120 r  object 

4
ฟังก์ชัน%>% หมายถึงอะไรใน R?
ฉันได้เห็นการใช้งานของ%>%(สูงกว่าร้อยละร้อยละ) ฟังก์ชั่นในแพคเกจบางอย่างเช่นdplyrและrvest หมายความว่าอย่างไร? เป็นวิธีเขียนปิดบล็อคใน R หรือไม่?
120 r  syntax  dplyr  magrittr  r-faq 

9
นำ LaTeX เข้าสู่ R Plots
ฉันต้องการที่จะเพิ่มLaTeXการเรียงพิมพ์กับองค์ประกอบของการแปลงในR(เช่นชื่อ, ป้ายชื่อแกนคำอธิบายประกอบ ฯลฯ ) โดยใช้การรวมกันของหรือbase/latticeggplot2 คำถาม: มีวิธีLaTeXเข้าสู่แปลงโดยใช้แพ็คเกจเหล่านี้หรือไม่และถ้าเป็นเช่นนั้นจะทำอย่างไร? หากไม่เป็นเช่นนั้นมีแพ็คเกจเพิ่มเติมที่จำเป็นในการดำเนินการนี้หรือไม่ ตัวอย่างเช่นในการPython matplotlibคอมไพล์LaTeXผ่านtext.usetexแพ็คเกจตามที่กล่าวไว้ที่นี่: http://www.scipy.org/Cookbook/Matplotlib/UsingTex มีกระบวนการที่คล้ายคลึงกันที่สามารถสร้างแปลงดังกล่าวได้Rหรือไม่?
119 r  latex  plot 

1
เพิ่มป้ายกำกับแกน x และ y ใน ggplot2
ฉันจะเปลี่ยนป้าย x และ y บนกราฟนี้ได้อย่างไร library(Sleuth2) library(ggplot2) discharge<-ex1221new$Discharge area<-ex1221new$Area nitrogen<-ex1221new$NO3 p <- ggplot(ex1221new, aes(discharge, area), main="Point") p + geom_point(aes(size= nitrogen)) + scale_area() + opts(title = expression("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)"), subtitle="n=41")
119 r  label  ggplot2 

6
ข้อผิดพลาดสถานะกราฟิกที่ไม่ถูกต้องถาวรเมื่อใช้ ggplot2
ฉันเชื่อว่าดาต้าเฟรมของฉันใช้ได้และรหัสของฉันก็โอเค อันที่จริงฉันได้กำจัดบางส่วนของดาต้าเฟรมและโค้ดกราฟส่วนใหญ่เพื่อให้สิ่งต่างๆเป็นพื้นฐานที่สุด แต่ถึงกระนั้นฉันก็ได้รับ: Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : invalid graphics state มีอะไรผิดปกติที่นี่? นี่คือข้อมูล: date trt var val 1/8/2008 cc sw5 0.2684138 1/8/2008 cc sw15 0.2897586 1/8/2008 cc sw5 0.2822414 2/8/2008 cc sw5 0.2494583 2/8/2008 cc sw5 0.2692917 2/8/2008 cc sw15 0.2619167 2/8/2008 cc sw5 0.204375 3/8/2008 cc sw5 0.2430625 …
119 r  ggplot2 

5
ส่งชื่อคอลัมน์ data.frame ไปยังฟังก์ชัน
ฉันกำลังพยายามเขียนฟังก์ชันเพื่อยอมรับ data.frame ( x) และ a columnจากมัน ฟังก์ชันทำการคำนวณบางอย่างบน x และส่งคืน data.frame อื่นในภายหลัง ฉันติดอยู่กับวิธีการปฏิบัติที่ดีที่สุดในการส่งชื่อคอลัมน์ไปยังฟังก์ชัน สองตัวอย่างน้อยที่สุดfun1และfun2ด้านล่างให้ผลลัพธ์ที่ต้องการสามารถดำเนินการได้x$columnโดยใช้max()เป็นตัวอย่าง อย่างไรก็ตามทั้งสองต้องพึ่งพาสิ่งที่ดูเหมือน (อย่างน้อยก็สำหรับฉัน) ไม่สง่างาม โทรหาsubstitute()และอาจเป็นไปได้eval() จำเป็นต้องส่งชื่อคอลัมน์เป็นเวกเตอร์อักขระ fun1 <- function(x, column){ do.call("max", list(substitute(x[a], list(a = column)))) } fun2 <- function(x, column){ max(eval((substitute(x[a], list(a = column))))) } df <- data.frame(B = rnorm(10)) fun1(df, "B") fun2(df, "B") ฉันต้องการเรียกใช้ฟังก์ชันดังfun(df, B)ตัวอย่างเช่น ตัวเลือกอื่น …
119 r  dataframe  r-faq 

1
เรียงลำดับแถบใหม่ใน geom_bar ggplot2
ฉันกำลังพยายามสร้างพล็อตแบบแท่งโดยที่พล็อตจะเรียงลำดับจากmiRNAสูงสุดvalueไปmiRNAหาต่ำสุด ทำไมรหัสของฉันไม่ทำงาน > head(corr.m) miRNA variable value 1 mmu-miR-532-3p pos 7 2 mmu-miR-1983 pos 75 3 mmu-miR-301a-3p pos 70 4 mmu-miR-96-5p pos 5 5 mmu-miR-139-5p pos 10 6 mmu-miR-5097 pos 47 ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + geom_bar(stat="identity")
119 r  ggplot2 

3
ลบอักขระพิเศษทั้งหมดออกจากสตริงใน R?
จะลบอักขระพิเศษทั้งหมดออกจากสตริงใน R และแทนที่ด้วยช่องว่างได้อย่างไร อักขระพิเศษที่จะลบ ได้แก่ : ~!@#$%^&*(){}_+:"<>?,./;'[]-= ฉันได้ลองregexใช้[:punct:]รูปแบบแล้ว แต่ลบเฉพาะเครื่องหมายวรรคตอน คำถามที่ 2: และวิธีลบอักขระจากภาษาต่างประเทศเช่น: â í ü Â á ą ę ś ć? คำตอบ: ใช้[^[:alnum:]]ลบ~!@#$%^&*(){}_+:"<>?,./;'[]-=และใช้[^a-zA-Z0-9]เพื่อลบนอกจากนี้â í ü Â á ą ę ś ćในregexหรือregexprฟังก์ชัน
119 regex  string  r  character 

6
แทนที่ "เปลี่ยนชื่อ" ใน dplyr
renameผมชอบฟังก์ชั่นการเปลี่ยนชื่อของ plyr ฉันเพิ่งเริ่มใช้ dplyr และสงสัยว่ามีวิธีง่ายๆในการเปลี่ยนชื่อตัวแปรโดยใช้ฟังก์ชันจาก dplyr ที่ใช้งานง่ายเหมือนกับ plyr renameหรือไม่?
118 r  rename  dplyr 

9
เหตุใดคำสั่ง ifelse ของ R จึงไม่สามารถส่งคืนเวกเตอร์ได้
ฉันพบว่าคำสั่ง ifelse ของ R มีประโยชน์เป็นครั้งคราว ตัวอย่างเช่น: ifelse(TRUE,1,2) # [1] 1 ifelse(FALSE,1,2) # [1] 2 แต่ฉันค่อนข้างสับสนกับพฤติกรรมต่อไปนี้ ifelse(TRUE,c(1,2),c(3,4)) # [1] 1 ifelse(FALSE,c(1,2),c(3,4)) # [1] 3 นี่เป็นตัวเลือกการออกแบบที่เหนือการจ่ายเงินของฉันหรือไม่
118 r  if-statement  r-faq 

2
วิธีจัดลำดับคอลัมน์ data.table ใหม่ (โดยไม่ต้องคัดลอก)
ฉันต้องการเรียงลำดับคอลัมน์ในของฉันdata.table xโดยให้เวกเตอร์อักขระของชื่อคอลัมน์neworder: library(data.table) x <- data.table(a = 1:3, b = 3:1, c = runif(3)) neworder <- c("c", "b", "a") เห็นได้ชัดว่าฉันทำได้: x[ , neworder, with = FALSE] # or x[ , ..neworder] # c b a # 1: 0.8476623 3 1 # 2: 0.4787768 2 2 # 3: 0.3570803 1 3 …
118 r  data.table 

6
รับประเภทของตัวแปรทั้งหมด
ใน R ฉันต้องการดึงรายการตัวแปรส่วนกลางที่ส่วนท้ายของสคริปต์ของฉันและทำซ้ำ นี่คือรหัสของฉัน #declare a few sample variables a<-10 b<-"Hello world" c<-data.frame() #get all global variables in script and iterate over them myGlobals<-objects() for(i in myGlobals){ print(typeof(i)) #prints 'character' } ปัญหาของฉันคือtypeof(i)ผลตอบแทนเสมอcharacterแม้ว่าตัวแปรaและcไม่ใช่ตัวแปรอักขระ ฉันจะรับตัวแปรประเภทดั้งเดิมภายใน for loop ได้อย่างไร
118 r  typeof 

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