Hello all,
I have a question which I have been struggling with for several weeks
now, that I think might be easy for more proficient coders than
myself. I have a large behavioral dataset, with behaviors and the
times (milliseconds) that they occurred. Each subject has a separate
file, and a sample subject file can be generated using the following
syntax:

Time <- c(1000, 1050, 1100, 1500, 2500, 5000, 6500, 6600, 7000)
Behavior <- c("g", "a", "s", "5", " z", "g", "z", "g", "a")
mydata <- data.frame(Time,Behavior)

My basic goal is to be able to extract some details about what
behaviors follow another specific behavior within a time window
(say1000 milliseconds). I figured out how to determine if one specific
behavior follows another specific behavior within that window with the
following syntax.

TimeG=mydata$Time[mydata$Behavior == "g"]
TimeA=mydata$Time[mydata$Behavior == "a"]
out=rep(NA, length(TimeG))

for (i in 1:length(TimeG)){tmp = TimeA-TimeG[i]
out[i]=(sum(0 < tmp & tmp <=1000 )>0 ) }

number_of_behaviors<-length(TimeG)
number_of_affectmirroring<-sum(out)

This generates 2 values: the number of times that the target behavior
"g" occurred, and the number of times that it was followed by the
behavior "a" within 1000 milliseconds.

Question:
What I can't seem to figure out is a to generate a count of the number
of times that multiple different types of behaviors immediately follow
a specific behavior within 1000 milliseconds. So say the behavior of
interest is “g” as it is in the example above. I want to determine
1)what was the next behavior (from a specified list of possible
behaviors bellow) that followed it within 1000 milliseconds.

Ideally the output would 1 row with be 13 columns. The first column
would be the number of times that the target behavior, "g" in this
example occurs. The next 12 columns would be the number of times that
one of the specific behaviors was the next behavior that followed
within 1000 milliseconds.  So one column for each of these behaviors :
a s d z x c v q w e r t.

The two complicating factors are: 1)there might be multiple behaviors
that followed within 1000 milliseconds, and I only want to count the
first one; and 2)there are additional behaviors that I would like to
ignore (like the "5" in the example above).

Any help or suggestions are appreciated.

Thank you,
James Broesch


--
View this message in context: 
http://r.789695.n4.nabble.com/Coding-question-for-behavioral-data-analysis-tp3753151p3753151.html
Sent from the R help mailing list archive at Nabble.com.
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to