Dear R users,

I am a remote sensing researcher currently studying the use of LiDAR data for 
quantifying tree height, in particular I would like to determine the sample 
size needed to capture and quantify canopy height variability. To do this I 
have employed the use of automap(), which automatically calculates variograms 
including reporting the range of the variogram. The program is easy to use and 
I have had much success with it. However, I have run into a  slight problem. My 
analysis consists of 60 independent plots located in our study area and I wish 
to run the variogram analyses for each plot and then write the resulting plot 
to a pdf file. Given that I have 60 plots I would like to vary the name of each 
file based on the plot being processed, see my code below. I have tried a 
number of different approaches using the paste() command but cant seem to get 
it to work.

Currently, as.character does not seem to solve the problem

pdf(file="as.character(paste(f.mat[a])).pdf")

alternatively I could write out to JPEG but I would rather not take that 
approach or I could write all pdf plots to one file but I am not sure how to do 
this.

Could someone suggest a solution?

I am using R version 2.7.1 (2008-06-23) on Ubuntu 7.10.

Many thanks,
Wesley





library(gstat)
library(automap)

## List of files to be used in the while loop

files <- read.table("files.txt")
f.mat <- as.matrix(files)

## start loop here with a as the control

a=1
while(a <= 60)
{

        d <- read.csv(paste(f.mat[a]), header=TRUE, sep=",")
        coordinates(d) = ~dbl_1+dbl_2
        variogram = autofitVariogram(dbl_5~1,d, model = c("Sph"), 
fix.values=c(NA,NA,NA), verbose = FALSE)

        print(variogram)
        print(variogram$var_model$psill[1])
        print(variogram$var_model$range[2])
        p <- plot(variogram, main="Semi-variogram (Spherical Model)", 
sub=paste("Range: ",variogram$var_model$range[2]))
        print(p)

        pdf(file="as.character(paste(f.mat[a])).pdf")
        plot(p, main="Semi-variogram (Spherical Model)", sub=paste("Range: 
",variogram$var_model$range[2]))
        dev.off()
        a=a+1

}


Wesley Roberts MSc.
Researcher
Natural Resources and the Environment (Earth Observation)
CSIR
Tel: +27 (31) 242-2353
Fax: +27 (31) 261-1216
http://ffp.csir.co.za/

"To know the road ahead, ask those coming back."
- Chinese proverb

-- 
This message is subject to the CSIR's copyright terms and conditions, e-mail 
legal notice, and implemented Open Document Format (ODF) standard. 
The full disclaimer details can be found at 
http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, 
and is believed to be clean.  MailScanner thanks Transtec Computers for their 
support.

______________________________________________
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.

Reply via email to