我正在学习gWidgets2
以制作GUI。
我想打开RD数据文件并计算变量的统计信息。
运行简单代码后,数据文件无法识别(只识别文件名的字符)。因此,我无法计算我想要的变量的平均值。怎么了?
这是代码的一部分。
surveillance.gui <-function(){
widgets<-list()
win <-gwindow("Public Health Surveillance")
pg<-gpanedgroup(horizontal=TRUE, cont=win,expand=TRUE)
mg<-ggroup(horizontal=FALSE, cont=pg)
tmp<-gframe("File",container=mg,expand=TRUE)
lyout<-glayout(container=tmp)
lyout[1,1]<-gbutton ("Data File...",cont=lyout, handler=function(h,...){
std<-gfile(text="Select Data File...",type="open",
filter=list("Data files"=list(patterns=c("*.R","*.RData")),
"All files"=list(patterns=c("*")))
)
if(std !="")
{ if(length(grep("\\",std,fixed=TRUE))>0){
mystr<-strsplit(std,split="\\",fixed=T)[[1]]
mystr.lth<-mystr[length(mystr)]
mydir<-substr(std,1,stop=(nchar(std)-nchar(mystr.lth)-1))
setwd(mydir)
} else if(length(grep("/",std,fixed=TRUE))>0){
mystr<-strsplit(std,split="/",fixed=T)[[1]]
mystr.lth<-mystr[length(mystr)]
setwd(mydir)
}
samP <<-std
svalue(widgets$file)<-samP #location of data directory
}
})
st<-strsplit(svalue(widgets$file),split="\\",fixed=T)[[1]]
fn <-st[length(st)]
dfile<-data(fn)
lyout[1,2]<-(widgets$file<-gedit(text="",cont=lyout))
lyout[2,1]<-gbutton("Monitoring year",cont=lyout)
lyout[2,2]<-(widgets$year<-gedit (text="",cont=lyout,coerce.with=as.numeric))
lyout[3,1]<-gbutton("Data Type", cont=lyout)
lyout[3,2]<-(widgets$type<-gcombobox(c("Daily","Weekly"),cont=lyout))
lyout[4,1]<-gbutton("Mean",cont=lyout, handler=function(h,...){
mean(dfile@observed) })
lyout[4,2]<-(widgets$mean <-gedit(text="",cont=lyout))