[R] problems with JGR and standard R GUI closing during calculations
Moore, Meagan
moore at ucsd.edu
Wed Sep 1 04:59:30 CEST 2010
Hi R help,
I am having problems running calculations in both the standard R GUI (ver 2.11.0) and the Java GUI for R (1.7-2) in Windows XP Service Pack 3 (2.2 GHz processor with 2 GB of RAM). When I try to import my data and run calculations on it, the GUI closes within a minute, sometimes almost instantaneously after I try to import data to then run the rest of my script. Has anyone had this problem before? Or does anyone recommend a different GUI for intense number crunching? I have included details of my script below for further reference.
Any advice is much appreciated.
Thanks,
Meagan
Script objective/specific problem: Trying to read 'fCCN' values every second off of 'SMPS' data every 5 mins to calculate output of 'activation diameter' every second).Total time series is about 3 weeks, however, even when I try shortening the data to about half a day or so, I still have the same problem. Sometimes the GUI will close right away, sometimes it will read the first time series of data and close when I try to read the second time series in. This is before I even try to really run the calculation where I am trying to read a value from one time series off of the other.
Script:
###load libraries
library(chron)
###define functions
## read SMPS
read.smps <- function(filename,patt="%m/%d/%Y %H:%M:%S") {
f <- file(filename,open="rt")
header <- scan(f,what="",quiet=TRUE,sep="\t",nlines=1)
smps <- read.table(f,check.names=FALSE,comment.char="",sep="\t",
colClasses=c("character",rep("numeric",length(header)-1)))
close(f)
list(size=as.numeric(header[-1]),
time=as.chron(smps[,1],patt),
dat=`dimnames<-`(as.matrix(smps[,-1]),list(smps[,1],header[-1])))
}
## read fCCN file
read.fCCN <- function(filename,patt="%m/%d/%Y %H:%M:%S") {
dat <- read.table(filename,check.names=FALSE,comment.char="",
sep="\t",header=TRUE,colClasses=c("character",
"numeric"))
dat$times <- as.chron(dat$times,patt)
dat
}
## to get activation diameters
getDact <- function(size,perc,fccn) approx(perc,size,(1-fccn)*100)$y
## format times for output
formatTimes <- function (x, patt = "%m/%d/%Y %H:%M:%S") {
posixtime <- as.POSIXct(paste(as.Date(dates(x)), times(x)%%1))
format(posixtime, patt)
}
###import data ***(where the GUI will close)****
smps <- read.smps("SMPS_OL_cuml_v2.txt")
fccn <- read.fCCN("fCCN_ONLY_forSMPS_v1.txt")
###output table by fCCN times
## loop
DactTable <- data.frame(times=fccn$times,Dact=NA)
for( x in 2:length(smps$time) ) {
## find fCCN times corresonding to SMPS
selection <- (fccn$times >= smps$time[x-1] &
fccn$times <= smps$time[x])
## if any, calculate activation diameters, otherwise, NA
if( any(selection) )
DactTable[selection,"Dact"] <-
getDact(smps$size,smps$dat[x-1,],fccn$fCCN[selection])
}
## format the table
DactTable$times <- formatTimes(DactTable$times)
write.table(DactTable,
file="Dact-output3.txt",sep="\t",quote=FALSE,
row.names=FALSE,col.names=TRUE)
***********************
Meagan J.K. Moore
Chemistry and Biochemistry
UC San Diego
Graduate Student
moore at ucsd.edu
More information about the R-help
mailing list