(今日、この質問をしようとしましたが、後で質問を単純化しすぎていることに気付きました。受け取った回答は正しかったのですが、元の質問の問題を単純化しすぎたため、使用できませんでした。これが私の2回目の試行...)
Rに次のようなデータフレームがあります。
"Timestamp", "Source", "Target", "Length", "Content"
0.1 , P1 , P2 , 5 , "ABCDE"
0.2 , P1 , P2 , 3 , "HIJ"
0.4 , P1 , P2 , 4 , "PQRS"
0.5 , P2 , P1 , 2 , "ZY"
0.9 , P2 , P1 , 4 , "SRQP"
1.1 , P1 , P2 , 1 , "B"
1.6 , P1 , P2 , 3 , "DEF"
2.0 , P2 , P1 , 3 , "IJK"
...
これを次のように変換したいと思います。
"StartTime", "EndTime", "Duration", "Source", "Target", "Length", "Content"
0.1 , 0.4 , 0.3 , P1 , P2 , 12 , "ABCDEHIJPQRS"
0.5 , 0.9 , 0.4 , P2 , P1 , 6 , "ZYSRQP"
1.1 , 1.6 , 0.5 , P1 , P2 , 4 , "BDEF"
...
これを英語にしようとすると、同じ「ソース」と「ターゲット」を持つ連続したレコードをグループ化し、グループごとに1つのレコードを出力して、そのグループのStartTime、EndTime、Duration(= EndTime-StartTime)を表示します。そのグループの長さの合計、およびそのグループ内のコンテンツ(すべて文字列になります)の連結とともに。
TimeOffset値は、データフレーム全体で常に増加します。
メルト/リキャストを見て、問題を解決するために使用できると感じましたが、ドキュメントに頭を悩ませることはできませんでした。R内でこれを行うことは可能だと思いますが、どこから始めればよいのか本当にわかりません。ピンチでは、データフレームをエクスポートして、Pythonなどで実行できますが、可能であればR内にとどまりたいと思います。
あなたが提供できるどんな援助にも前もって感謝します