I'm also pretty new to XCMS, but I'll take a stab since I've been able to get diffreport to work so far.
For the first option you listed for diffreport:reporttab<-diffreport(xset3,class1="Control",class2="WSN",filebase="mztest",eicmax=7000,eicwidth=120,classeic=c("control","wsn"),value=c("into"),metlin=.03,h=480,w=640)
I'm not sure what filebase refers to because I haven't used that. Is that supposed to be where the output files are stored? I've been able to get diffreport to work by setting my working directory when I first get the files that I want to use. For example, if I had my files, which are in mzData format, in two folders called Group1 and Group2 in the My Documents folder I'll use something like this:
setwd("C:/Users/Laura/Documents")
MyFiles <- list.files(getwd(), pattern="mzdata.xml", full.names=FALSE, recursive=TRUE)
Then I type "MyFiles" to make sure that I see something like this:
"Group1/FileA" "Group1/FileB" "Group1/FileC" "Group2/FileD" "Group2/FileE" "Group2/FileF"
Then, I'd do pretty much what you're doing except that I'd specify that the object I want to use with xcmsSet is MyFiles, e.g.
xset <- xcmsSet(MyFiles, method='centWave',ppm=5,peakwidth=c(5,90),snthresh=3,mzdiff=0.01,prefilter=c(3,10))
I don't know how important it is to specify the object with xcmsSet. If it seems to work without specifying, then I guess you're fine, but I've been specifying it. That way I also know for sure that I'm analyzing what I mean to analyze.
Then, when I'm ready to generate the diffreport, then I use a command like this to get the top 20 EICs ranked by differences between the groups:
MyReport <- diffreport(xset3, "Group1", "Group2", "MyOutputFile", 20)
It looks like you're using more parameters than I have been when you call diffreport, so maybe this won't be particularly helpful as I don't know how to be specific about which EICs I get in the output files and I'm not searching Metlin directly from XCMS.
Good luck!
Laura