#Nutritional Dataset names(NutritionData) hist(NutritionData$SatFat, data=NutritionData) hist(NutritionData$SatFat,breaks=20,freq=T,xlab="Saturated Fat", main="Histogram of Saturated Fat",col='gray') hist(NutritionDatal$SatFat,breaks=c(0,5, 10,15,20,25, 30),freq=T,xlab="Saturated Fat", main="Histogram of Saturated Fat",col='gray') hist(NutritionData$SatFat,breaks=20,freq=F,xlab="Saturated Fat", main="Histogram of Saturated Fat",col='gray') lines(density(NutritionData$SatFat)) hist(NutritionData$SatFat,breaks=40,freq=F,xlab="Saturated Fat", main="Histogram of Saturated Fat", col='gray') lines(density(NutritionData$SatFat,adjust=0.50),lty=2) boxplot(NutritionData$SatFat ~ NutritionData$Location) #Change factor level order NutritionData$Location<-factor(NutritionData$Location,levels=c("BurgerKing","KFC","McDonalds","TacoBell","Wendys","Dominos","PizzaHut","ErbertGerbert","Subway")) boxplot(NutritionData$SatFat ~ NutritionData$Location) #USe to change back to original order if needed #NutritionData$Location<-factor(NutritionData$Location,levels=c("BurgerKing","Dominos","ErbertGerbert","KFC","McDonalds","PizzaHut","Subway","TacoBell","Wendys")) aggregate(NutritionData$SatFat,by=list(NutritionData$Location), mean) #Barcharts table(NutritionData$Location) barplot(table(NutritionData$Location)) pie(table(NutritionData$Location)) table(NutritionData$Type, NutritionData$Location) barplot(table(NutritionData$Type, NutritionData$Location), legend=TRUE) table.of.counts<-table(NutritionData$Type,NutritionData$Location) barplot(prop.table(table.of.counts,2),legend=TRUE) table.of.counts plot(TotalFat~SatFat,data=NutritionData) abline(lm(TotalFat~SatFat,data=NutritionData)) #Graphical Parameters par(mfrow=c(1,2)) #Create a 1 x 2 grid for plotting par(pty="m") #Force square plotting region, par(pty="m") will change back to default plot(TotalFat~SatFat,data=NutritionData, xlab="Saturated Fat", ylab="Total Fat", xlim=c(0,60), ylim=c(0,60)) plot(TotalFat~SatFat,data=NutritionData, xlab="Saturated Fat", ylab="Total Fat", col="blue",pch=2) #Creating the intial plot plot(TotalFat~SatFat,data=NutritionData) #Fitting a loess model fit<-loess(TotalFat~SatFat,data=NutritionData, span=.3) #Using a generic sequence for x to obtain a prediction line #lines(seq(0,30,1), predict(fit,newdata=data.frame(SatFat=seq(0,30,1)))) #Using actual SatFat data valus to obtain a prediction lines(sort(NutritionData$SatFat), predict(fit,newdata=NutritionData[order(NutritionData$SatFat),])) fit<-loess(TotalFat~SatFat,data=NutritionData, span=.3) #lines(seq(0,30,1), predict(fit,newdata=data.frame(SatFat=seq(0,30,1)))) lines(sort(NutritionData$SatFat), predict(fit,newdata=NutritionData[order(NutritionData$SatFat),])) scatter.smooth(NutritionData$SatFat,NutritionData$TotalFat,span=.4) #Get subset of only beef and chicken BeefChickenData <- NutritionData[NutritionData$Type == "Beef" | NutritionData$Type == "Chicken", ] BeefChickenData <- NutritionData[NutritionData$Type %in% c("Beef","Chicken"), ] plot(TotalFat~SatFat,data=BeefChickenData,xlab="Saturated Fat", ylab="Total Fat", col=c("red","blue")[match(Type,c("Beef","Chicken"))]) abline(lm(TotalFat~SatFat,data=BeefChickenData[BeefChickenData$Type=="Beef",]),col="red") abline(lm(TotalFat~SatFat,data=BeefChickenData[BeefChickenData$Type=="Chicken",]),col="blue") abline(0,1,col="gray",lty=2) title("Red = Beef, Blue= Chicken") legend("bottomright",legend=c("Beef","Chicken"),fill=c("red","blue")) legend(25,15,legend=c("Beef","Chicken"),fill=c("red","blue")) #Plots with Loess smoothers plot(TotalFat~SatFat,data=BeefChickenData,xlab="Saturated Fat", ylab="Total Fat", col=c("red","blue")[match(Type,c("Beef","Chicken"))], type="n") fit.beef<-loess(TotalFat~SatFat,data=BeefChickenData[BeefChickenData$Type=="Beef",]) lines(sort(BeefChickenData[BeefChickenData$Type == "Beef",6]), sort(predict(fit.beef,newdata=BeefChickenData[BeefChickenData$Type == "Beef",])), col="red") fit.chicken<-loess(TotalFat~SatFat,data=BeefChickenData[BeefChickenData$Type=="Chicken",]) lines(sort(BeefChickenData[BeefChickenData$Type == "Chicken",6]), sort(predict(fit.chicken,newdata=BeefChickenData[BeefChickenData$Type == "Chicken",])), col="blue") abline(0,1,col="gray",lty=2) legend("bottomright",legend=c("Beef","Chicken"),fill=c("red","blue")) #Lattice graphics library(lattice) histogram(~SatFat,data=NutritionData) histogram(~SatFat|Location,data=NutritionData, col="gray") densityplot(~SatFat|Location,data=NutritionData, col="black",plot.points=FALSE) densityplot(~SatFat|Location,data=NutritionData, col="black") BeefChickenData$Type<-factor(BeefChickenData$Type,levels=c("Beef","Chicken")) densityplot(~SatFat, data=BeefChickenData, groups=Type, plot.points=FALSE, auto.key=TRUE) xyplot(TotalFat~SatFat, data=NutritionData) xyplot(TotalFat~SatFat|Location, data=NutritionData) #Loess in xyplot xyplot(TotalFat~SatFat|Location,data=NutritionData, type="smooth") xyplot(TotalFat~SatFat|Location,data=NutritionData, type=c("p","smooth")) panel.smoother <- function(x, y) { #panel.xyplot(x, y, pch=2, cex=0.5) # show points panel.loess(x, y) # show smoothed line } xyplot(TotalFat~SatFat|Location,data=NutritionData, panel = panel.smoother) xyplot(TotalFat~SatFat,data=NutritionData, groups=Location, type=c("p","smooth")) pairs(NutritionData[,5:10], panel=panel.smooth) splom(~BeefChickenData[,5:10], data=BeefChickenData, groups=BeefChickenData$Type, panel=panel.superpose, key=list(title="Scatterplot Matrix", columns=2, points=list(pch=1:2, col=4:5), text=list(c("Beef","Chicken")))) splom(BeefChickenData[,5:10], groups=BeefChickenData$Type, data=BeefChickenData, panel=panel.superpose)