How would I be able to figure out how many times transitions to other behaviors in sequential df
Can you please share a small part of the data set in a copy-paste friendly format?
In case you don't know how to do it, there are many options, which include:
I can include a dput for the data if required
Afraid not @hawken1.
In your first post you show that your data is in object named df.
For first 50 records we do
head(df, n=50)
to share in a forum post we need
dput(head(df, n=50))
Here is the output that I get when using dput
Here is what I tried to run since I figured I would have to first mutate and then filter the bheavior. Then I used group_by to summarize the subsequent events, but I am getting an error after the third line.
df2 <- df %>% mutate(next_event = lead(real_beh))
df3 <- df2 %>% filter(real_beh=="eat _ STOP")
df4 <- df3 %>% group_by(next_event)
summarise(counts=n())
what am I missing?
I named your structure above as df, then continued:
# for every row, get the next event after it
df2 <- df %>% mutate(next_event = lead(real_beh))
#we want to track what happens next after each eat and stop
df3 <- df2 %>% filter(real_beh=="eat _ STOP")
# count them
df4 <- df3 %>% group_by(next_event) %>%
summarise(counts=n())
---------------------
# A tibble: 2 x 2
next_event counts
<chr> <int>
eat _ START 2
walking _ START 6
Thank you for your help.
You're welcome.
You can refer to the part of the code I shared which uses filter to keep only matching rows from the data. Its just a case of choosing a filter condition. Have a play with it.
the exclamation mark can be used to negate a logical condition so if you dont want something to match you can do
! thing_on_left == thing_on_right
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.