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

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

3
R ใช้ฟังก์ชันที่มีพารามิเตอร์หลายตัว
ฉันมีฟังก์ชั่นf(var1, var2)ในอาร์สมมติว่าเราตั้งค่าvar2 = 1และตอนนี้ฉันต้องการที่จะใช้ฟังก์ชั่นในรายการf() Lโดยทั่วไปฉันต้องการรับรายการใหม่ L * พร้อมเอาต์พุต [f(L[1],1),f(L[2],1),...,f(L[n],1)] ฉันจะทำวิธีนี้กับอย่างใดอย่างหนึ่งapply, mapplyหรือlapply?
129 r 


5
จะเปลี่ยนความกว้างของเส้นใน ggplot ได้อย่างไร?
Datalink: ข้อมูลที่ใช้ รหัสของฉัน: ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE) ccfsirsts <- as.data.frame(ccfsisims) ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric) ccfsirsts <- droplevels(ccfsirsts) ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres))) library(ggplot2) #------------------------------------------------------------------------------------------ #### Plot of food security index for Morocco and Turkey by sector #------------------------------------------------------------------------------------------ #_Code_Begin... datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting …
128 r  ggplot2  line-plot 

6
วิธีการเขียนสูตรอย่างรวบรัดโดยมีตัวแปรหลายตัวจาก data frame?
สมมติว่าฉันมีตัวแปรการตอบสนองและข้อมูลที่มีสามตัวแปรร่วม (เป็นตัวอย่างของเล่น): y = c(1,4,6) d = data.frame(x1 = c(4,-1,3), x2 = c(3,9,8), x3 = c(4,-4,-2)) ฉันต้องการปรับการถดถอยเชิงเส้นให้พอดีกับข้อมูล: fit = lm(y ~ d$x1 + d$x2 + d$y2) มีวิธีเขียนสูตรไหมโดยที่ฉันไม่ต้องเขียนความแปรปรวนร่วมแต่ละตัว ตัวอย่างเช่น fit = lm(y ~ d) (ฉันต้องการให้แต่ละตัวแปรใน data frame เป็นตัวแปรร่วม) ฉันถามเพราะจริงๆแล้วฉันมีตัวแปร 50 ตัวใน data frame ของฉันดังนั้นฉันจึงต้องการหลีกเลี่ยงการเขียนออกx1 + x2 + x3 + etcไป
127 r  dataframe  glm  lm 

5
อะไรคือความแตกต่างระหว่างชนิดข้อมูลเวกเตอร์และรายการใน R
อะไรคือความแตกต่างหลักระหว่างชนิดข้อมูลเวกเตอร์และรายการใน R ข้อดีหรือข้อเสียของการใช้ (หรือไม่) ข้อมูลทั้งสองประเภทนี้คืออะไร? ฉันขอขอบคุณที่เห็นตัวอย่างที่แสดงให้เห็นถึงกรณีการใช้งานของประเภทข้อมูล
127 list  r  vector 

4
แยกทุกองค์ประกอบที่ n ของเวกเตอร์
ฉันต้องการสร้างเวกเตอร์ซึ่งแต่ละองค์ประกอบเป็นi+6thองค์ประกอบของเวกเตอร์อื่น ตัวอย่างเช่นในเวกเตอร์ที่มีความยาว 120 ฉันต้องการสร้างเวกเตอร์อื่นที่มีความยาว 20 ซึ่งแต่ละองค์ประกอบเป็นค่าi, i+6, i+12, i+18...ของเวกเตอร์เริ่มต้นนั่นคือฉันต้องการแยกทุกองค์ประกอบที่ 6 ของต้นฉบับ
127 r  vector 

3
ตัวแปรส่วนกลางและท้องถิ่นใน R
ฉันเป็นมือใหม่สำหรับ R และฉันค่อนข้างสับสนกับการใช้ตัวแปรท้องถิ่นและทั่วโลกใน R ฉันอ่านโพสต์บนอินเทอร์เน็ตที่ระบุว่าฉันใช้=หรือ<-ฉันจะกำหนดตัวแปรในสภาพแวดล้อมปัจจุบันและ<<-ฉันสามารถเข้าถึงตัวแปรส่วนกลางได้เมื่ออยู่ในฟังก์ชัน อย่างไรก็ตามตามที่ฉันจำได้ในตัวแปรโลคัล C ++ เกิดขึ้นทุกครั้งที่คุณประกาศตัวแปรภายในวงเล็บ{}ดังนั้นฉันจึงสงสัยว่านี่จะเหมือนกันสำหรับ R หรือไม่? หรือเป็นเพียงสำหรับฟังก์ชันใน R ที่เรามีแนวคิดของตัวแปรท้องถิ่น ฉันได้ทำการทดลองเล็กน้อยซึ่งดูเหมือนจะชี้ให้เห็นว่าเพียงวงเล็บไม่เพียงพอฉันได้รับอะไรผิดปกติหรือไม่ { x=matrix(1:10,2,5) } print(x[2,2]) [1] 4
126 r 

8
Scatterplot ที่มีจุดมากเกินไป
ฉันพยายามพล็อตตัวแปรสองตัวโดยที่ N = 700K ปัญหาคือมีการทับซ้อนกันมากเกินไปจนพล็อตส่วนใหญ่กลายเป็นบล็อกสีดำทึบ มีวิธีใดบ้างในการมี "เมฆ" ระดับสีเทาที่ความมืดของพล็อตเป็นฟังก์ชันของจำนวนจุดในภูมิภาค กล่าวอีกนัยหนึ่งคือแทนที่จะแสดงจุดแต่ละจุดฉันต้องการให้พล็อตเป็น "เมฆ" ยิ่งมีจำนวนจุดในพื้นที่มากเท่าใดพื้นที่นั้นก็จะยิ่งมืดลง
126 r  scatter-plot 

8
read.csv คำเตือน 'EOF ภายในสตริงที่ยกมา' ป้องกันการอ่านไฟล์โดยสมบูรณ์
ฉันมีไฟล์ CSV (24.1 MB)ที่ฉันไม่สามารถอ่านได้ทั้งหมดในเซสชัน R ของฉัน เมื่อฉันเปิดไฟล์ในโปรแกรมสเปรดชีตฉันจะเห็น 112,544 แถว เมื่อฉันอ่านเป็น R โดยมีread.csvเพียง 56,952 แถวและคำเตือนนี้: cit <- read.csv("citations.CSV", row.names = NULL, comment.char = "", header = TRUE, stringsAsFactors = FALSE, colClasses= "character", encoding= "utf-8") Warning message: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : EOF within quoted string …
125 r  csv  eof  read.table 

8
จะลบหลายค่าจากเวกเตอร์ได้อย่างไร?
ฉันมีเวกเตอร์เช่น: a = c(1:10)และฉันต้องการลบหลายค่าเช่น:2, 3, 5 จะลบตัวเลขเหล่านั้น ( ไม่ใช่ตำแหน่งในเวกเตอร์) ในเวกเตอร์ได้อย่างไร? ในขณะที่ฉันวนเวกเตอร์และทำสิ่งที่ชอบ: a[!a=NUMBER_TO_REMOVE] แต่ฉันคิดว่ามีฟังก์ชั่นที่ทำโดยอัตโนมัติ
125 r 

3
เรียงแถวใน data.table ตามลำดับที่ลดลงบนคีย์สตริง `order (-x, v)` ให้ข้อผิดพลาดบน data.table 1.9.4 หรือก่อนหน้า
สมมติว่าฉันมีสิ่งต่อไปนี้data.tableในR: library(data.table) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) ฉันต้องการเรียงลำดับตามสองคอลัมน์ (พูดว่าคอลัมน์xและv) ฉันใช้สิ่งนี้: DT[order(x,v)] # sorts first by x then by v (both in ascending order) แต่ตอนนี้ฉันต้องการจัดเรียงตามx(ตามลำดับที่ลดลง) และมีรหัสต่อไปนี้: DT[order(-x)] #Error in -x : invalid argument to unary operator class(DT$x)=characterดังนั้นผมคิดว่าข้อผิดพลาดนี้เกิดจากความจริงที่ว่า คุณช่วยให้ข้อเสนอแนะเพื่อแก้ปัญหานี้ได้ไหม ฉันรู้ว่าฉันสามารถใช้ได้DT[order(x,decreasing=TRUE)]แต่ฉันต้องการทราบว่าไวยากรณ์เพื่อจัดเรียงตามหลายคอลัมน์โดยใช้ทั้งสองวิธี (ลดลงบ้างเพิ่มขึ้นบ้าง) ในเวลาเดียวกัน โปรดทราบว่าหากคุณใช้DT[order(-y,v)]ผลลัพธ์ก็โอเค แต่ถ้าคุณใช้DT[order(-x,v)]มีข้อผิดพลาด ดังนั้นคำถามของฉันคือ: จะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?
125 r  string  sorting  data.table  key 

6
“ วิธี S3” หมายถึงอะไรใน R?
เนื่องจากฉันค่อนข้างใหม่กับ R ฉันจึงไม่รู้ว่าวิธี S3 และวัตถุคืออะไร ฉันพบว่ามีระบบอ็อบเจ็กต์ S3 และ S4 และบางส่วนแนะนำให้ใช้ S3 มากกว่า S4 หากเป็นไปได้ (ดูคู่มือสไตล์ R ของ Google ที่http://google-styleguide.googlecode.com/svn/trunk/google-r-style html ) *. อย่างไรก็ตามฉันไม่ทราบคำจำกัดความที่แน่นอนของวิธี / วัตถุ S3 อัปเดต: ในปี 2019 ไฮเปอร์ลิงก์ R Style Guide ของ Google อยู่ที่นี่แล้ว
125 r  oop  r-faq  r-s3  r-s4 

3
การซ้อนทับฮิสโตแกรมด้วย ggplot2 ใน R
ฉันยังใหม่กับ R และกำลังพยายามพล็อตฮิสโตแกรม 3 รายการลงบนกราฟเดียวกัน ทุกอย่างทำงานได้ดี แต่ปัญหาของฉันคือคุณไม่เห็นว่าฮิสโตแกรม 2 รายการทับซ้อนกันตรงไหน - มันดูค่อนข้างถูกตัดออกไป เมื่อฉันสร้างพล็อตความหนาแน่นมันดูสมบูรณ์แบบเส้นโค้งแต่ละเส้นล้อมรอบด้วยเส้นกรอบสีดำและสีจะดูแตกต่างกันเมื่อเส้นโค้งเหลื่อมกัน มีใครช่วยบอกหน่อยได้ไหมว่าฮิสโตแกรมในภาพที่ 1 สามารถทำสิ่งที่คล้ายกันได้หรือไม่ นี่คือรหัสที่ฉันใช้: lowf0 <-read.csv (....) mediumf0 <-read.csv (....) highf0 <-read.csv(....) lowf0$utt<-'low f0' mediumf0$utt<-'medium f0' highf0$utt<-'high f0' histogram<-rbind(lowf0,mediumf0,highf0) ggplot(histogram, aes(f0, fill = utt)) + geom_histogram(alpha = 0.2)
125 r  ggplot2 

7
จัดลำดับระดับของปัจจัยใหม่โดยไม่ต้องเปลี่ยนลำดับของค่า
ฉันมีกรอบข้อมูลที่มีตัวแปรตัวเลขและfactorตัวแปรตามหมวดหมู่ ลำดับของระดับสำหรับปัจจัยเหล่านั้นไม่ใช่วิธีที่ฉันต้องการให้เป็น numbers <- 1:4 letters <- factor(c("a", "b", "c", "d")) df <- data.frame(numbers, letters) df # numbers letters # 1 1 a # 2 2 b # 3 3 c # 4 4 d ถ้าฉันเปลี่ยนลำดับของระดับตัวอักษรจะไม่อยู่ในตัวเลขที่สอดคล้องกันอีกต่อไป (ข้อมูลของฉันเป็นเรื่องไร้สาระทั้งหมดนับจากนี้เป็นต้นไป) levels(df$letters) <- c("d", "c", "b", "a") df # numbers letters # 1 1 …
124 r  levels 

6
ลบ "a" ออกจากคำอธิบายเมื่อใช้สุนทรียศาสตร์และ geom_text
ฉันจะลบตัวอักษร 'a' ออกจากคำอธิบายแผนภูมิที่สร้างโดยรหัสนี้ได้อย่างไร หากฉันลบgeom_textตัวอักษร "a" จะไม่ปรากฏในคำอธิบายแผนภูมิ ฉันต้องการให้geom_textแต่ ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) + geom_point() + geom_text(aes(label = Species))
124 r  ggplot2  aesthetics 

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