menjumlahkan berdasarkan nilai maksimum harian

Saya mencoba menulis skrip R yang akan melalui kerangka data yang saya impor dari spreadsheet Excel (lihat format di bawah), dan menemukan jumlah nilai harian hingga maksimum harian (dan termasuk maksimum harian)

Datanya terlihat seperti ini:

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

Jadi fungsi yang saya bayangkan akan kembali:

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

Ada ide?


person Brett Michael    schedule 21.06.2012    source sumber
comment
Apakah Anda tidak ingin baris pertama menjadi 5/1/2012 0:00 2?   -  person ChrisW    schedule 22.06.2012
comment
bisa juga membacanya, yang saya posting hanyalah contoh saja. Saya telah mengedit postingan untuk mencerminkan hal itu.   -  person Brett Michael    schedule 22.06.2012
comment
Jadi, apa yang sudah kamu coba sejauh ini?   -  person ChrisW    schedule 22.06.2012
comment
Sepertinya pertanyaan ini: link   -  person John    schedule 22.06.2012
comment
Eh, apa yang salah dengan jawaban yang diberikan terakhir kali? stackoverflow.com/a/11109989/889604   -  person ChrisW    schedule 22.06.2012
comment
Memang benar, tapi kali ini saya mencari fungsi untuk menjumlahkan hingga maksimum harian.   -  person Brett Michael    schedule 22.06.2012
comment
@ChrisW jawaban itu bagus sekali. Saya mencari saran untuk menjumlahkan semua nilai harian hingga maksimum harian dalam kasus ini.   -  person Brett Michael    schedule 22.06.2012


Jawaban (1)


Berikut ini sedikit perubahan pada jawaban yang diberikan oleh @Thierry di pertanyaan terakhir Anda

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"])
})

Saya juga ingin mengatakan bahwa Anda belum menunjukkan inisiatif atau upaya apa pun. EDIT @John ya OP sedikit mengubah data sejak pertanyaan terakhir telah diedit untuk mencerminkan hal ini.

person shhhhimhuntingrabbits    schedule 21.06.2012
comment
Ya, beberapa dari kita baru mengenal R dan kesulitan dengan hal ini. Bahkan ketika Anda tahu persis apa yang Anda inginkan, kesalahan sintaksis kecil dapat menghalangi Anda mendapatkan apa yang Anda inginkan. Maaf, dan terima kasih atas bantuannya. - person Brett Michael; 22.06.2012
comment
@BrettMichael Kesalahan sintaksis kecil apa? Anda tidak menunjukkan kepada kami kode apa pun. Itu membuatnya tampak seperti Anda belum mencoba apa pun. Ada lebih banyak hal dalam pemrograman daripada mengetahui apa yang Anda inginkan. - person GSee; 22.06.2012
comment
Saya tidak yakin ini berhasil. duplicate 'row.names' are not allowed - person John; 22.06.2012