ฉันต้องการจัดกลุ่ม dataframe ของฉันในคอลัมน์ใดคอลัมน์หนึ่ง จากนั้นใช้ฟังก์ชันกับข้อมูลที่จัดกลุ่มซึ่งส่งคืนหลายคอลัมน์ โดยยกตัวอย่าง ให้พิจารณาสิ่งต่อไปนี้
Names = append(rep('Mark',10),rep('Joe',10))
Spend = rnorm(length(Names),50,0.5)
df <- data.frame(
Names,
Spend
)
get.mm <- function(data){
return(list(median(data),mean(data)))
}
ที่นี่ get.mm
ส่งคืนรายการตัวเลขสองตัว ฉันต้องการใช้ get.mm
กับ df %>% group_by(Names)
และให้ผลลัพธ์มีสองคอลัมน์ หนึ่งคอลัมน์สำหรับแต่ละเอาต์พุตของฟังก์ชัน
ผลลัพธ์ที่ต้องการควรเป็น
Names median mean
<fctr> <dbl> <dbl>
1 Joe 49.89284 49.9504
2 Mark 50.17244 50.0735
ผมจัดฟังก์ชันตรงนี้ให้เรียบง่ายเพื่อใช้สาธิต ผมรู้ว่าผมทำแบบนั้นได้
df %>% group_by(Names) %>% summarise(median = median(Spend), mean = mean(Spend))
summarise_at()
และ cran.r-project.org/web/packages /dplyr/บทความสั้น/ - person Alex P   schedule 28.07.2017