# Histograms_and_density_plots_for_subgroups_defined_by_factor_levels # following to obtain my sample data: # http://www.robin-beaumont.co.uk/virtualclassroom/book2data/pain_medication.dat mydataframe <- read.delim("http://www.robin-beaumont.co.uk/virtualclassroom/book2data/pain_medication.dat",header=TRUE) names(mydataframe) str(mydataframe) ##### get it locally - ignore: # mydataframe <- read.delim("D:\\web_sites_mine\\HIcourseweb new\\book2data\\pain_medication.dat", # header=TRUE) ##### names(mydataframe) str(mydataframe) # r generated # densityPlot is in the car package densityPlot(age~gender, data=mydataframe, bw="SJ", adjust=1, kernel="gaussian") maledata <- mydataframe[mydataframe$gender == "Male",] femaledata <- mydataframe[mydataframe$gender == "Female",] plot(density(maledata$age),ylim =c(0, 0.07), main ="densityplots for males/females[dotted] for age",xlab= "age (years)" ) lines(density(femaledata$age), lty = 2) #alternative plot(density(mydataframe$age[mydataframe$gender == "Female"]), ylim = c(0, 0.07), main = "densityplots for males/females[dotted] for age", xlab= "age (years)" ) # You now need to overlay the female density line. lines(density(mydataframe$age[mydataframe$gender == "Male"]), lty = 2) ### all 4 lines on a single plot plot (density(maledata$age[maledata$treatment == "Existing drug"], data=maledata), col="red", lty = 1, ylim=c(0,0.05),xlim=c(0,100), main="Results for each treatment group according to sex & age") lines (density(maledata$age[maledata$treatment == "New drug"], data=maledata), col="green", lty = 2) # now for the female data lines (density(femaledata$age[femaledata$treatment == "Existing drug"], data= femaledata), lty = 1, col="blue") # females existing drug lines (density(femaledata$age[femaledata$treatment == "New drug"], data= femaledata), col="black", lty = 2) # females new drug # add a legend legend(65, 0.05, c("male existing", "male new", "female existing", "female new"), lty= c(1, 2, 1, 2), lwd= c(1,1,1,1), col=c("red","green","blue","black"))