สรุปตามค่าสูงสุดรายวัน

ฉันกำลังพยายามเขียนสคริปต์ R ที่จะผ่าน dataframe ที่ฉันนำเข้าจากสเปรดชีต Excel (ดูรูปแบบด้านล่าง) และค้นหาผลรวมของค่ารายวันจนถึงค่าสูงสุดรายวัน (และรวมถึงค่าสูงสุดรายวัน)

ข้อมูลมีลักษณะดังนี้:

5/1/2012  0:00  0         
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1

ดังนั้นฟังก์ชันที่ฉันจินตนาการไว้จะกลับมา:

1 5/1/2012 15:00 17
2 5/2/2012 18:00 35

มีความคิดอะไรบ้าง?


person Brett Michael    schedule 21.06.2012    source แหล่งที่มา
comment
คุณไม่ต้องการให้บรรทัดที่ 1 เป็น 5/1/2012 0:00 2 ใช่ไหม   -  person ChrisW    schedule 22.06.2012
comment
มันก็อ่านได้เหมือนกันครับ ที่ผมโพสไป เป็นเพียงตัวอย่างเท่านั้น ฉันได้แก้ไขโพสต์เพื่อสะท้อนถึงสิ่งนั้น   -  person Brett Michael    schedule 22.06.2012
comment
แล้วคุณลองทำอะไรไปแล้วบ้าง?   -  person ChrisW    schedule 22.06.2012
comment
ดูเหมือนคำถามนี้: ลิงก์   -  person John    schedule 22.06.2012
comment
เอ่อ เกิดอะไรขึ้นกับคำตอบที่ให้ไว้ครั้งล่าสุด? stackoverflow.com/a/11109989/889604   -  person ChrisW    schedule 22.06.2012
comment
เป็นเช่นนั้น แต่คราวนี้ฉันกำลังมองหาฟังก์ชันที่จะรวมจนถึงค่าสูงสุดรายวัน   -  person Brett Michael    schedule 22.06.2012
comment
@ChrisW คำตอบเหล่านั้นยอดเยี่ยมมาก ฉันกำลังมองหาคำแนะนำที่สรุปมูลค่ารายวันทั้งหมดจนถึงค่าสูงสุดรายวันในกรณีนี้   -  person Brett Michael    schedule 22.06.2012


คำตอบ (1)


นี่คือการปรับแต่งเล็กน้อยสำหรับคำตอบที่ได้รับจาก @Thierry ในคำถามสุดท้ายของคุณ

dat.str <- '5/1/2012  0:00  0 
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1
'

dat <- read.table(textConnection(dat.str))

library(plyr)
ddply(dat, .(V1), function(x){
   sum(x[1:(which.max(x$V3)), "V3"])
})

ฉันจะบอกด้วยว่าคุณไม่ได้แสดงความคิดริเริ่มหรืองานใดๆ เลย แก้ไข @John ใช่ OP เปลี่ยนแปลงข้อมูลเล็กน้อยเนื่องจากคำถามสุดท้ายได้แก้ไขเพื่อสะท้อนถึงสิ่งนี้

person shhhhimhuntingrabbits    schedule 21.06.2012
comment
ใช่แล้ว พวกเราบางคนยังใหม่กว่า R และต้องดิ้นรนกับสิ่งนี้ แม้ว่าคุณจะรู้แน่ชัดว่าคุณต้องการอะไร ข้อผิดพลาดทางไวยากรณ์เล็กๆ น้อยๆ อาจทำให้คุณไม่สามารถได้รับสิ่งที่คุณต้องการได้ ขออภัยและขอบคุณสำหรับความช่วยเหลือ - person Brett Michael; 22.06.2012
comment
@BrettMichael มีข้อผิดพลาดทางไวยากรณ์เล็กน้อยอะไร คุณไม่ได้แสดงรหัสใดๆ ให้เราดู นั่นทำให้ดูเหมือนคุณไม่ได้พยายามอะไรเลย การเขียนโปรแกรมมีประโยชน์มากกว่าการรู้ว่าคุณต้องการอะไร - person GSee; 22.06.2012
comment
ฉันไม่แน่ใจว่ามันใช้งานได้ duplicate 'row.names' are not allowed - person John; 22.06.2012