我一直在對我的問題的解決方案進行一些研究,我認爲它在某種地方適用。我需要把我的數據框分割成船名,每當活動發生變化時將0.1添加到net#中,然後合併數據集。我的數據框看起來像這樣。使用daply拆分應用組合
Boat Net # Activity
Ray F 40 Lift
Dawn 67 Lift
Ray F 40 Set
Dawn 67 Set
Ray F 40 Lift
Ray F 40 Set
Ray F 40 Lift
Dawn 67 Lift
在我應用函數後,我需要框架看起來像這樣。每次Activity = Set時,基本上每次向網絡添加0.1,但是船隻彼此獨立。
Boat Net # Activity
Ray F 40.0 Lift
Dawn 67.0 Lift
Ray F 40.1 Set
Dawn 67.1 Set
Ray F 40.1 Lift
Ray F 40.2 Set
Ray F 40.2 Lift
Dawn 67.1 Lift
我一直在使用該功能增加0.1淨#在活動的每一個變化,它已經真的很好,但沒有考慮到船的名字。
df$`Net #` <- df$`Net #` + seq(0, 1, by = 0.1)[with(df, cumsum(c(TRUE, Activity[-1]!= Activity[-length(Activity)])))] + 1
最初我嘗試使用拆分,然後應用函數,但沒有做任何事,所以我切換到daply。我試過這個,並得到以下錯誤:
daply(df, df$Boat, .fun = df$`Net #` + seq(0, 1, by = 0.1)[with(df, cumsum(c(TRUE, Activity[-1]!= Activity[-length(Activity)])))] + 1)
Error in parse(text = x) : <text>:1:6: unexpected symbol
1: Dawn Marie
^
我想我是在正確的道路上,但任何幫助將是偉大的。
這是一個可怕的專欄名稱。爲什麼不救自己的麻煩,只是把它'網絡'。 –