I am analyzing word usage in multiple two-person conversations between students and teachers, and want to test whether the usage of a given word differs between the two speaker roles. My interactions have been grouped together to form a single (27,000x2) dataframe. Each row in the dataframe reflects a sentence spoken by either a teacher (T) or a student (S). There are two columns, one containing the label of the speaker (S or T), and the other the count of a word X in that sentence.
As you can imagine, my data contains a lot of zeros...
------------------
speaker|count(x)
------------------
S 0
T 1
S 0
T 3
S 2
T 0
S 0
T 1
------------------
Put simply, I want to know if teachers usage of word X differs from students. I am also concerned that as my data has grouped multiple conversations into a single dataframe, I might have to account for the nested structure of the data (although I could be wrong).
I am assuming that a simple t-test is not the most appropriate way to deal with this - working with counts = outliers, normality violations etc. - but I'm unsure where to turn next.