# lda.r > # > # Author: Amsha Nahid, Jairus Bowne, Gerard Murray > # Purpose: Perform Linear Discriminant Analysis (LDA) > # > # Input: Data matrix as specified in Data-matrix-format.pdf > # Output: LDA plot > # > # Notes: Missing values (if any) are replaced by the half of the lowest > # value in the entire data matrix. > > > # > # Load necessary libraries, and install them if they are missing > # > tryCatch(library(MASS), error=function(err) + # if this produces an error: + install.packages("MASS",repos="http://cran.ms.unimelb.edu.au/")) > > # > # Prepare the data matrix > # > # Read in the .csv file > data<-read.csv("C:/Users/nadya/Desktop/praktikal UTM/TASK2/new(40data)S2 100 >EMS EPI 300-399.csv", sep=",", row.names=1, header=TRUE) > # Get groups information > groups<-data[,1] > # Remove groups for data processing > lda_data<-data[,-1] > # Replace any missing values (see Notes) > lda_data[is.na(lda_data)]<-0.5*(min(lda_data,na.rm=TRUE)) > > # > # Perform the LDA > # > lda_result<-lda(lda_data,groups) Error in lda.default(x, grouping, ...) : variables 1 3 5 8 10 15 17 20 27 29 34 appear to be constant within groups > > # > # Generate the figures (on screen) > # > # Image generation - function definition > pic_onscr<-function(matrix, title, cex_val=1) + {x11() + par(mgp=c(5,2,0), # axis margins + # (title, labels, line) + mar=c(7,4,4,2), # plot margins (b,l,t,r) + las=1) # horizontal labels + plot(matrix, # data to plot + cex=cex_val, # font size + dimen=2 # dimensions to plot + ) + title(main=title) # title of plot + } > # Plot LDA scores with sample names > pic_onscr(lda_result,"Linear Discriminant Analysis") Error in plot(matrix, cex = cex_val, dimen = 2) : error in evaluating the argument 'x' in selecting a method for function 'plot': Error: object 'lda_result' not found > # For plotting with larger font size, use a different value of cex: > # pic_onscr(lda_result, "LDA Plot", dimen=2, cex=3) > > # > # Generate figures as image files > # > # (Uncomment blocks as necessary) > > ##### jpeg ##### > # pic_jpg<-function(filename, matrix, title, cex_val=1) > # {# Start jpeg device with basic settings > # jpeg(filename, > # quality=100, # image quality (percent) > # bg="white", # background colour > # res=300, # image resolution (dpi) > # units="in", width=8.3, height=5.8 # image dimensions (inches) > # ) > # par(mgp=c(5,2,0), # axis margins > # # (title, labels, line) > # mar=c(7,4,4,2), # plot margins (b,l,t,r) > # las=1 # horizontal labels > # ) > # # Draw the plot > # plot(matrix, # data to plot > # cex=cex_val, # font size > # dimen=2 # dimensions to plot > # ) > # title(main=title) # title of plot > # > # dev.off() > # } > # pic_jpg("LDA.jpg", lda_result, "Linear Discriminant Analysis") > ##### end jpeg ##### > > ##### png ##### > # pic_png<-function(filename, matrix, title, cex_val=1) > # {# Start png device with basic settings > # png(filename, > # bg="white", # background colour > # res=300, # image resolution (dpi) > # units="in", width=8.3, height=5.8 # image dimensions (inches) > # ) > # par(mgp=c(5,2,0), # axis margins > # # (title, labels, line) > # mar=c(7,4,4,2), # plot margins (b,l,t,r) > # las=1 # horizontal labels > # ) > # # Draw the plot > # plot(matrix, # data to plot > # cex=cex_val, # font size > # dimen=2 # dimensions to plot > # ) > # title(main=title) # title of plot > # > # dev.off() > # } > # pic_png("LDA.png", lda_result, "Linear Discriminant Analysis") > ##### end png ##### > > ##### tiff ##### > # pic_tiff<-function(filename, matrix, title, cex_val=1) > # {# Start tiff device with basic settings > # tiff(filename, > # bg="white", # background colour > # res=300, # image resolution (dpi) > # units="in", width=8.3, height=5.8, # image dimensions (inches) > # compression="none" # image compression > # # (one of none, lzw, zip) > # ) > # par(mgp=c(5,2,0), # axis margins > # # (title, labels, line) > # mar=c(7,4,4,2), # plot margins (b,l,t,r) > # las=1 # horizontal labels > # ) > # # Draw the plot > # plot(matrix, # data to plot > # cex=cex_val, # font size > # dimen=2 # dimensions to plot > # ) > # title(main=title) # title of plot > # > # dev.off() > # } > # pic_tiff("LDA.tif", lda_result, "Linear Discriminant Analysis") > ##### end tiff ##### >
[[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.