Hi > > [R] what is the mistake?? the coding still not function. no result display > > # 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
The problem seems to be with your data, which in some groups are constant. Try split(lda_data, groups) or sapply(split(lda_data, groups), length) and see your result. Regards Petr > > > > # > > # 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. ______________________________________________ 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.