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

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

6
ฉันจะติดตั้งแพ็คเกจ R จากแหล่งที่มาได้อย่างไร
เพื่อนส่งมาให้ผมพร้อมกวดวิชาที่ดีนี้ในwebscraping NYTimes กับ R ฉันชอบที่จะลอง อย่างไรก็ตามขั้นตอนแรกคือการติดตั้งแพคเกจที่เรียกว่า RJSONIO จากแหล่งที่มา ฉันรู้ว่า R ค่อนข้างดี แต่ฉันไม่รู้ว่าจะติดตั้งแพ็คเกจจากแหล่งที่มาได้อย่างไร ฉันใช้ Mac OSX
392 r  package  install  r-faq 

30
มีฟังก์ชันในตัวสำหรับค้นหาโหมดหรือไม่
ใน R mean()และmedian()เป็นฟังก์ชั่นมาตรฐานที่ทำในสิ่งที่คุณคาดหวัง mode()บอกโหมดการเก็บข้อมูลภายในของวัตถุไม่ใช่ค่าที่เกิดขึ้นมากที่สุดในการโต้แย้ง แต่มีฟังก์ชันไลบรารีมาตรฐานที่ใช้โหมดสถิติสำหรับเวกเตอร์ (หรือรายการ) หรือไม่?
392 r  statistics  r-faq 

8
ตรวจสอบการมีอยู่ของไดเรกทอรีและสร้างหากไม่มีอยู่
ฉันมักจะพบว่าตัวเองเขียนสคริปต์ R ที่สร้างผลลัพธ์จำนวนมาก ฉันคิดว่ามันสะอาดกว่าที่จะนำเอาท์พุทนี้ไปไว้ในไดเรกทอรีของตัวเอง สิ่งที่ฉันเขียนด้านล่างจะตรวจสอบการมีอยู่ของไดเรกทอรีและย้ายไปไว้ในไดเรกทอรีนั้นหรือสร้างไดเรกทอรีแล้วย้ายไปยังไดเรกทอรีนั้น มีวิธีที่ดีกว่าในการเข้าถึงสิ่งนี้หรือไม่? mainDir <- "c:/path/to/main/dir" subDir <- "outputDirectory" if (file.exists(subDir)){ setwd(file.path(mainDir, subDir)) } else { dir.create(file.path(mainDir, subDir)) setwd(file.path(mainDir, subDir)) }
388 r 

12
การรวมสองสตริงสามารถเชื่อมโยงกันได้อย่างไร
ฉันจะเชื่อมสองค่า (ผสานรวมกัน) เข้าด้วยกันได้อย่างไร เช่นฉันมี: tmp = cbind("GAD", "AB") tmp # [,1] [,2] # [1,] "GAD" "AB" เป้าหมายของฉันคือการเชื่อมสองค่าใน "tmp" กับหนึ่งสตริง: tmp_new = "GAD,AB" ฟังก์ชั่นใดสามารถทำได้สำหรับฉัน

10
แยกคอลัมน์เฉพาะจากกรอบข้อมูล
ฉันมีเฟรมข้อมูล R ที่มี 6 คอลัมน์และฉันต้องการสร้างดาต้าเฟรมใหม่ที่มีเพียงสามคอลัมน์เท่านั้น สมมติว่าเฟรมข้อมูลของฉันเป็นdfและฉันต้องการที่จะคอลัมน์สารสกัดA, BและEนี้เป็นเพียงคำสั่งฉันจะคิดออก: data.frame(df$A,df$B,df$E) มีวิธีที่กะทัดรัดกว่านี้อีกไหม?
365 r  dataframe  r-faq 

13
วิธีการตัดช่องว่างชั้นนำและต่อท้าย?
ฉันมีปัญหากับช่องว่างนำหน้าและต่อท้ายใน data.frame เช่นฉันชอบที่จะดูเฉพาะrowในdata.frameตามเงื่อนไขบางอย่าง: > myDummy[myDummy$country == c("Austria"),c(1,2,3:7,19)] [1] codeHelper country dummyLI dummyLMI dummyUMI [6] dummyHInonOECD dummyHIOECD dummyOECD <0 rows> (or 0-length row.names) ฉันสงสัยว่าทำไมฉันไม่ได้รับผลลัพธ์ที่คาดหวังเนื่องจากประเทศออสเตรียมีอยู่ในตัวฉันdata.frameอย่างชัดเจน หลังจากดูประวัติรหัสของฉันและพยายามหาสิ่งที่ผิดพลาดฉันพยายาม: > myDummy[myDummy$country == c("Austria "),c(1,2,3:7,19)] codeHelper country dummyLI dummyLMI dummyUMI dummyHInonOECD dummyHIOECD 18 AUT Austria 0 0 0 0 1 dummyOECD 18 1 ทั้งหมดที่ฉันมีการเปลี่ยนแปลงในคำสั่งเป็นช่องว่างเพิ่มเติมหลังจากออสเตรีย ปัญหาที่น่ารำคาญเพิ่มเติมอย่างเห็นได้ชัดเกิดขึ้น เช่นเมื่อฉันต้องการรวมสองเฟรมตามคอลัมน์ประเทศ …

2
จะกำหนดขีด จำกัด สำหรับแกนในแปลง ggplot2 R ได้อย่างไร?
ฉันพล็อตต่อไปนี้: library(ggplot2) carrots <- data.frame(length = rnorm(500000, 10000, 10000)) cukes <- data.frame(length = rnorm(50000, 10000, 20000)) carrots$veg <- 'carrot' cukes$veg <- 'cuke' vegLengths <- rbind(carrots, cukes) ggplot(vegLengths, aes(length, fill = veg)) + geom_density(alpha = 0.2) ทีนี้พูดว่าฉันแค่ต้องการพล็อตพื้นที่ระหว่างx=-5000ถึง5000แทนช่วงทั้งหมด ฉันจะทำสิ่งนั้นได้อย่างไร
358 r  plot  ggplot2 

15
วิธีหาผลรวมของตัวแปรตามกลุ่ม
ฉันมีกรอบข้อมูลที่มีสองคอลัมน์ คอลัมน์แรกมีหมวดหมู่เช่น "First", "Second", "Third" และคอลัมน์ที่สองมีตัวเลขที่แสดงถึงจำนวนครั้งที่ฉันเห็นกลุ่มเฉพาะจาก "หมวดหมู่" ตัวอย่างเช่น: Category Frequency First 10 First 15 First 5 Second 2 Third 14 Third 20 Second 3 ฉันต้องการเรียงลำดับข้อมูลตามหมวดหมู่และรวมความถี่ทั้งหมด: Category Frequency First 30 Second 5 Third 34 ฉันจะทำสิ่งนี้ใน R ได้อย่างไร
357 r  dataframe  aggregate  r-faq 


8
จะเพิ่มศูนย์นำหน้าได้อย่างไร
ฉันมีชุดข้อมูลซึ่งมีลักษณะดังนี้: anim <- c(25499,25500,25501,25502,25503,25504) sex <- c(1,2,2,1,2,1) wt <- c(0.8,1.2,1.0,2.0,1.8,1.4) data <- data.frame(anim,sex,wt) data anim sex wt anim2 1 25499 1 0.8 2 2 25500 2 1.2 2 3 25501 2 1.0 2 4 25502 1 2.0 2 5 25503 2 1.8 2 6 25504 1 1.4 2 ฉันต้องการเพิ่มศูนย์ก่อนหน้า id …

6
วิธีค้นหาความยาวของสตริงใน R
วิธีค้นหาความยาวของสตริง (จำนวนอักขระในสตริง) โดยไม่แยกใน R? ฉันรู้วิธีค้นหาความยาวของรายการ แต่ไม่ใช่ของสตริง แล้วสตริง Unicode ล่ะ? ฉันจะค้นหาความยาว (เป็นไบต์) และจำนวนอักขระ (อักษรรูน, สัญลักษณ์) ในสตริง Unicode ได้อย่างไร คำถามที่เกี่ยวข้อง: วิธีค้นหาจำนวนอักขระ "ของจริง" ในสตริง Unicode ใน R

5
วิธีเขียน trycatch ใน R
ฉันต้องการเขียนtrycatchโค้ดเพื่อจัดการกับข้อผิดพลาดในการดาวน์โหลดจากเว็บ url <- c( "http://stat.ethz.ch/R-manual/R-devel/library/base/html/connections.html", "http://en.wikipedia.org/wiki/Xz") y <- mapply(readLines, con=url) คำสั่งสองคำสั่งเหล่านี้ทำงานได้สำเร็จ ด้านล่างนี้ฉันสร้างที่อยู่เว็บที่ไม่มีอยู่: url <- c("xxxxx", "http://en.wikipedia.org/wiki/Xz") url[1]ไม่ได้อยู่. เราจะเขียนtrycatchloop (function) อย่างไร: เมื่อ URL ไม่ถูกต้องผลลัพธ์จะเป็น: "เว็บ URL ไม่ถูกต้องไม่สามารถรับได้" เมื่อ URL ผิดรหัสจะไม่หยุด แต่ยังคงดาวน์โหลดต่อไปจนกว่าจะสิ้นสุดรายการ URL หรือไม่


13
แปลงแบบเคียงข้างกันกับ ggplot2
ฉันต้องการที่จะวางด้านข้างทั้งสองแปลงโดยด้านข้างใช้แพคเกจ ggplot2par(mfrow=c(1,2))คือทำเทียบเท่า ตัวอย่างเช่นฉันต้องการให้สองแปลงต่อไปนี้แสดงแบบเคียงข้างกันในระดับเดียวกัน x <- rnorm(100) eps <- rnorm(100,0,.2) qplot(x,3*x+eps) qplot(x,2*x+eps) ฉันต้องใส่ใน data.frame เดียวกันหรือไม่ qplot(displ, hwy, data=mpg, facets = . ~ year) + geom_smooth()
339 r  visualization  ggplot2 

28
วิธีที่สวยงามในการตรวจสอบแพ็คเกจที่หายไปและติดตั้งหรือไม่
ฉันดูเหมือนจะแบ่งปันรหัสจำนวนมากกับผู้เขียนร่วมสมัยนี้ หลายคนเป็นผู้ใช้มือใหม่และระดับกลางและไม่รู้ตัวว่าต้องติดตั้งแพ็คเกจที่ยังไม่มี มีวิธีโทรที่หรูหราinstalled.packages()เปรียบเทียบกับวิธีที่ฉันกำลังโหลดและติดตั้งหากไม่มีหรือไม่
337 r  packages  r-faq 

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