我一直在对我的问题的解决方案进行一些研究,我认为它在某种地方适用。我需要把我的数据框分割成船名,每当活动发生变化时将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
^
我想我是在正确的道路上,但任何帮助将是伟大的。
这是一个可怕的专栏名称。为什么不救自己的麻烦,只是把它'网络'。 –