I do this kind of thing all the time. Here's an example program that iterates over files in a directory. The files are called

DataCulture1
DataCulture2

and so forth. I want to make a graph based on the first, then the second, and so forth. This version will make a graph each time the function newgr() is run. This uses locator to make the user place labels on the graph. If you don't want it to interact that way, kill that line, or else the program will seem not to run.

run<-1
updateDataSet <- function(run)
 {
   aChar<-character(1)
   aChar<-as.character(run)
   dsname<-c(paste("DataCulture",aChar,sep=""))
   data<-read.table(dsname,header=T,as.is = TRUE)

}

buildGraph <-function(data)
{
tmp1<-plot(data$acquaint~data$T,type='l', ylim=c(0,1),ylab="average proportion",xlab="PERIOD",lty=1,pch=1,main="")
par("new"=TRUE)
tmp2<-plot(data$harmony~data$T,type='l', ylim=c(0,1),ylab="average proportion",xlab="PERIOD",lty=2,pch=1,main="")
par("new"=TRUE)
tmp3<-plot(data$identical~data$T,type='l', ylim=c(0,1),ylab="average proportion",xlab="PERIOD",lty=3,pch=1,main="")
par("new"=TRUE)
tmp4<-plot(data$totalEntropy~data$T,type='l',ylim=c(0,1),ylab="",xlab="",lty=4,pch=1,main="", cex=10)


#want a legend?
#legend(max(data$T)/2,0.2,c("Acquaintance","Harmonious","Identical","Entropy"),lty=1:4,xjust=1,yjust=1)
#if you want to interact, do this:
#legend(locator(1),c("Acquaintance","Harmonious","Identical"),lty=1:3)
#or do this to place the lables, one after the other
text(locator(4),c("Acquaintance","Harmony","Identical","Entropy"))

}

redraw<-function()
 {
   dsname<-updateDataSet(run)
   buildGraph(dsname)
 }

newgr<-function()
{
 dsname<-updateDataSet(run)
 buildGraph(dsname)
 run <<- run+1
}

newgr()


Koen Hufkens wrote:


Dear list,

I've been messing around with coding functions in R and it just won't make sense to me.
Running my analysis by hand on command line is fine and works but because of the repetitive nature of the job I would like to code a function for it.


My problem:

I would like to read in data from a file in my current working dir.

so my code would look like:

myanalysis <- function(sample, samplenr){
sample.samplenr <- read.geodata("sample.samplenr", arg, arg etc.)
sample.samplenr.results <- someanalysis(sample.samplenr)
}

problem is that charater values aren't interpretated as they should. Any tips and tricks? This should be fairly simple but I just can't find any reference to it. Most input values in functions in R are numeric or are strings to be interpretated with bolean statements but aren't handled as input variable perse.

Suggestions and comments would be greatly appreciated,
Koen.

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html



--
Paul E. Johnson email: [EMAIL PROTECTED]
Dept. of Political Science http://lark.cc.ku.edu/~pauljohn
1541 Lilac Lane, Rm 504 University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177 FAX: (785) 864-5700


______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to