I have a large dataset of tweets that have been coded for linguistic features. However, each account (g) has many tweets and I want to produce an average score for each subject for each one of the variables (Analytic, Tone, Authentic, & Clout)
ID G Analytic Tone Authentic Clout
2 sen_Democrat_Bennet_Michael_campaign.saved 98.01 25.77 3.12 57.77
3 sen_Democrat_Bennet_Michael_campaign.saved 95.58 98.87 1.00 61.58
4 sen_Democrat_Bennet_Michael_campaign.saved 93.26 25.77 1.00 99.00
5 sen_Democrat_Bennet_Michael_campaign.saved 62.04 92.40 62.53 41.76
6 sen_Democrat_Bennet_Michael_campaign.saved 96.54 94.75 46.36 91.35
7 sen_Democrat_Bennet_Michael_campaign.saved 52.71 91.14 87.83 65.56
8 sen_Democrat_Bennet_Michael_campaign.saved 99.00 92.40 7.84 58.24
9 sen_Democrat_Bennet_Michael_campaign.saved 75.19 25.77 78.40 71.17
23 sen_Democrat_Murray_Patty_campaign.saved 22.39 25.77 1.00 99.00
24 sen_Democrat_Murray_Patty_campaign.saved 89.96 80.64 2.40 81.84
25 sen_Democrat_Murray_Patty_campaign.saved 98.09 91.78 7.24 65.86
26 sen_Democrat_Murray_Patty_campaign.saved 91.05 25.77 15.43 66.48
27 sen_Democrat_Murray_Patty_campaign.saved 69.72 25.77 18.79 96.11
28 sen_Democrat_Murray_Patty_campaign.saved 81.63 25.77 3.90 89.42
29 sen_Democrat_Murray_Patty_campaign.saved 71.12 2.51 50.35 39.61
30 sen_Democrat_Murray_Patty_campaign.saved 52.71 91.14 3.37 72.57
31 sen_Democrat_Murray_Patty_campaign.saved 64.39 2.51 9.58 39.61
32 sen_Democrat_Murray_Patty_campaign.saved 99.00 1.00 1.00 86.68
What I want to do is create a data frame where each account has a single observation, showing the averages for all their tweets along with the four variables, like so:
ID G Analytic Tone Authentic Clout
1 sen_Democrat_Bennet_Michael_campaign.saved 84.22 75.44 13.12 66.65
2 sen_Democrat_Murray_Patty_campaign.saved 96.00 12.00 24.00 73.68
I have tried unsuccessfully to use a loop and a couple of other things, but I really don't know the best way to move forward. Any help would be greatly appreciated.