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

10
ฟังก์ชั่นการจัดกลุ่ม (tapply, by, aggregate) และ * ใช้ตระกูล
เมื่อใดก็ตามที่ฉันต้องการทำอะไรบางอย่าง "map" py ใน R ฉันมักจะพยายามใช้ฟังก์ชั่นในapplyครอบครัว อย่างไรก็ตามฉันไม่เคยเข้าใจความแตกต่างระหว่างพวกเขา - วิธี { sapply, lapplyฯลฯ } ใช้ฟังก์ชันกับอินพุต / จัดกลุ่มอินพุตเอาต์พุตจะเป็นอย่างไรหรือแม้กระทั่งอินพุตที่เป็นดังนั้นฉันจึงมักจะ เพียงผ่านพวกเขาทั้งหมดจนกว่าฉันจะได้รับสิ่งที่ฉันต้องการ ใครสามารถอธิบายวิธีการใช้อันไหนได้บ้าง ความเข้าใจในปัจจุบันของฉัน (อาจไม่ถูกต้อง / ไม่สมบูรณ์) คือ ... sapply(vec, f): input เป็นเวกเตอร์ เอาท์พุทเป็นเวกเตอร์ / เมทริกซ์ที่องค์ประกอบiคือf(vec[i])ให้คุณเมทริกซ์ถ้าfมีเอาท์พุทหลายองค์ประกอบ lapply(vec, f): เหมือนกันsapplyแต่เอาท์พุทเป็นรายการ? apply(matrix, 1/2, f): input เป็นเมทริกซ์ เอาต์พุตเป็นเวกเตอร์โดยที่อิลิเมนต์iคือ f (แถว / col i ของเมทริกซ์) tapply(vector, grouping, f): output …
1040 r  lapply  sapply  tapply  r-faq 

12
เข้าถึงชื่อดัชนี lapply ภายใน FUN
มีวิธีรับชื่อดัชนีรายการในฟังก์ชัน lapply () ของฉันหรือไม่ n = names(mylist) lapply(mylist, function(list.elem) { cat("What is the name of this list element?\n" }) ฉันถามก่อนว่าเป็นไปได้หรือไม่ที่จะรักษาชื่อดัชนีในรายการคืน lapply () แต่ฉันยังไม่รู้ว่ามีวิธีง่าย ๆ ในการดึงชื่อองค์ประกอบแต่ละรายการภายในฟังก์ชันที่กำหนดเองหรือไม่ ฉันต้องการหลีกเลี่ยงการโทรไปที่ชื่อตัวเองอย่าง lapply ฉันควรได้รับชื่อในพารามิเตอร์ฟังก์ชัน
162 r  lapply  names  indices 

4
ส่งผ่านข้อโต้แย้งหลายประการเพื่อ FUN of lapply (และอื่น ๆ * ใช้)
ฉันมีคำถามเกี่ยวกับการส่งอาร์กิวเมนต์หลายรายการไปยังฟังก์ชันเมื่อใช้lapplyในR. เมื่อฉันใช้ lapply กับไวยากรณ์ของlapply(input, myfun);- สิ่งนี้เข้าใจได้ง่ายและฉันสามารถกำหนด myfun ได้เช่นนั้น: myfun <- function(x) { # doing something here with x } lapply(input, myfun); และองค์ประกอบของinputจะถูกส่งผ่านเป็นอาร์กิวเมนต์xmyfun แต่ถ้าฉันต้องผ่านข้อโต้แย้งเพิ่มเติมอีกmyfuncล่ะ? ตัวอย่างเช่นมีการกำหนดไว้เช่นนั้น: myfun <- function(x, arg1) { # doing something here with x and arg1 } ฉันจะใช้ฟังก์ชันนี้โดยส่งผ่านทั้งสองinputองค์ประกอบ (เป็นxอาร์กิวเมนต์) และอาร์กิวเมนต์อื่น ๆ ได้อย่างไร
109 r  lapply 

3
อ่านไฟล์ทั้งหมดในโฟลเดอร์และใช้ฟังก์ชันกับแต่ละเฟรมข้อมูล
ฉันกำลังทำการวิเคราะห์ที่ค่อนข้างง่ายซึ่งฉันได้ใส่ไว้ในฟังก์ชันกับไฟล์ทั้งหมดในโฟลเดอร์ใดโฟลเดอร์หนึ่ง ฉันสงสัยว่ามีใครมีเคล็ดลับที่จะช่วยฉันดำเนินการโดยอัตโนมัติในโฟลเดอร์ต่างๆ ประการแรกฉันสงสัยว่ามีวิธีอ่านไฟล์ทั้งหมดในโฟลเดอร์ใดโฟลเดอร์หนึ่งตรงไปที่ R หรือไม่ฉันเชื่อว่าคำสั่งต่อไปนี้จะแสดงรายการไฟล์ทั้งหมด: files <- (Sys.glob("*.csv")) ... ซึ่งฉันพบจากการใช้ R เพื่อแสดงรายการไฟล์ทั้งหมดที่มีนามสกุลที่ระบุ จากนั้นรหัสต่อไปนี้จะอ่านไฟล์เหล่านั้นทั้งหมดใน R listOfFiles <- lapply(files, function(x) read.table(x, header = FALSE)) …จากการจัดการไฟล์หลายไฟล์ใน R แต่ดูเหมือนไฟล์จะถูกอ่านเป็นรายการเดียวต่อเนื่องไม่ใช่แต่ละไฟล์…ฉันจะเปลี่ยนสคริปต์เพื่อเปิดไฟล์ csv ทั้งหมดในโฟลเดอร์ใดโฟลเดอร์หนึ่งเป็นดาต้าเฟรมแต่ละไฟล์ได้อย่างไร ประการที่สองสมมติว่าฉันสามารถอ่านไฟล์ทั้งหมดแบบแยกกันได้ฉันจะทำฟังก์ชันบนดาต้าเฟรมเหล่านี้ทั้งหมดให้เสร็จสิ้นในครั้งเดียวได้อย่างไร ตัวอย่างเช่นฉันได้สร้างดาต้าเฟรมขนาดเล็กสี่แบบเพื่อที่ฉันจะได้แสดงสิ่งที่ฉันต้องการ: Df.1 <- data.frame(A = c(5,4,7,6,8,4),B = (c(1,5,2,4,9,1))) Df.2 <- data.frame(A = c(1:6),B = (c(2,3,4,5,1,1))) Df.3 <- data.frame(A = c(4,6,8,0,1,11),B = (c(7,6,5,9,1,15))) …
90 r  list  lapply  summary 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.