#set working directory
setwd ('C:\\Users\\u23916\\Dropbox\\R workshop\\2021-22 series\\session 7')
#import data
hm_interactions<-read.csv ("hm_interactions.csv", header = T)
#you can extract a single column using $
hm_interactions$Focal_ID
#you can change column names as follows
colnames(hm_interactions)[colnames(hm_interactions)=="Focal_ID"] <- "ID"
colnames(hm_interactions)[colnames(hm_interactions)=="Tot_N_HM_interactions"] <- "hm_int"
colnames(hm_interactions)[colnames(hm_interactions)=="Tot_Provision"] <- "prov"
colnames(hm_interactions)[colnames(hm_interactions)=="Grooming_given"] <- "gr"
#we can change the numbers into meaningful text. For example we can replace "0" with adult male and "1" with adult females
hm_interactions["sex"] [hm_interactions["sex"] == "0"] <- "am"
hm_interactions["sex"] [hm_interactions["sex"] == "1"] <- "af"
#you can do all sorts of mathematical calculations
sum (hm_interactions$Obs_time)#sum
mean (hm_interactions$Obs_time)#mean
median (hm_interactions$Obs_time)#median
#you can create a new column that is the mathematical calculation of other two columns
hm_interactions$gr_rates <- hm_interactions$gr/ hm_interactions$Obs_time
#average grooming per group and per sex
install.packages("plyr")
library (plyr)
data_summary <- ddply(hm_interactions, .(Group, sex), summarize,
mean = mean(gr_rates, na.rm = T),
sd = sd(gr_rates, na.rm= T))
#we can create a new table that includes only females
females <- hm_interactions [which(hm_interactions$sex == "af"),]
#You can use the "which" and "==" functions to exclude some data points that have too few or too large observation time (i.e., exclude outliers)
females_nooutlier <- females [-which(females$Obs_time < 3 | females$Obs_time > 10),]