[R] For loop output

David Carlson dcarlson at tamu.edu
Fri Aug 9 18:49:18 CEST 2013


What happens when you type?

test.2 <- stack(individual.proj)

assuming you want all six or

test.2 <- stack(individual.proj[c(1,3, 5)])

to combine the 1st, 3rd, and 5th.

Eg. Modified from the stack help page

fn <- system.file("external/test.grd", package="raster")
nfn <- c(fn, fn, fn)
s <- stack(nfn)
nlayers(s)

-------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: Jenny Williams [mailto:jenny.williams at kew.org] 
Sent: Friday, August 9, 2013 6:34 AM
To: 'dcarlson at tamu.edu'; r-help at r-project.org
Subject: RE: [R] For loop output

To update on the use of this little string, I am trying to use
it to automate files to be loaded into a raster stack.
I think the issue I have with the string is related to the
backslashes. I need to just read the pure text so that the
datasets can be sourced, though I am not sure whether the stack
function will accept a string of files in this format either!

>individual.proj.quote
<-capture.output(write.table(matrix(individual.proj, 1),
quote=TRUE, sep=",", row.names=FALSE, col.names=FALSE))

> individual.proj.quote
[1]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_GBM.img\",\"Arabica/proj_current/indiv
idual_projections/proj_current_arabica_pa.data.tmp$pa.tab_Full_G
LM.img\",\"Arabica/proj_current/individual_projections/proj_curr
ent_arabica_pa.data.tmp$pa.tab_Full_MARS.img\",\"Arabica/proj_cu
rrent/individual_projections/proj_current_arabica_pa.data.tmp$pa
.tab_Full_RF.img" 

>test4 = stack(individual.proj.quote)
Cannot create a RasterLayer object from this file. (file does
not exist)


I ran a test with just one file which worked, but haven't
managed to combine more files into the stack:

>test
[1]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_GBM.img"

> library(raster)
> test.1 = stack(test)
> test.1
class       : RasterStack 
dimensions  : 9241, 8521, 78742561, 1  (nrow, ncol, ncell,
nlayers)
resolution  : 0.008333334, 0.008333334  (x, y)
extent      : -18.00832, 53.00001, -38.00833, 39.00001  (xmin,
xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs 
names       : proj_current_arabica_pa.data.tmp.pa.tab_Full_GBM 
min values  :                                                6 
max values  :                                              995


-----Original Message-----
From: David Carlson [mailto:dcarlson at tamu.edu] 
Sent: 08 August 2013 18:04
To: Jenny Williams; r-help at r-project.org
Subject: RE: [R] For loop output

It's not clear how you are planning to use this within R, but
you don't need a loop.

individual.proj.quote <-
capture.output(write.table(matrix(individual.proj, 1),
quote=TRUE, sep=",", row.names=FALSE, col.names=FALSE))

This produces a single character string which consists of the
quoted file names separated by commas.

-------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: r-help-bounces at r-project.org
[mailto:r-help-bounces at r-project.org] On Behalf Of Jenny
Williams
Sent: Thursday, August 8, 2013 10:06 AM
To: 'r-help at r-project.org'
Subject: [R] For loop output

I am having difficulty storing the output of a for loop I have
generated. All I want to do is find all the files that I have,
create a string with all of the names in quotes and separated by
commas. This is proving more difficult than I initially
anticipated.
I am sure it is either very simple or the construction of the
for loop is not quite right The result gets automatically
printed after the loop but I can't seem to save it.
I have tried to create the element in advance but the result is
the same: NULL

individual.proj =
Sys.glob("Arabica/proj_current/individual_projections/*.img",
dirmark = FALSE)
individual.proj
[1]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_GBM.img"
 [2]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_GLM.img"
 [3]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_MARS.img"
 [4]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_RF.img"
 [5]
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_RUN10_GBM.img"


##generate loop to create string out of the table of projected
files.
L.ip = length(individual.proj)
  for (i in 1:L.ip){
           individual.proj.i <- individual.proj[i]
           individual.proj.quote = cat(paste('"',
individual.proj.i, '"', ',',sep=""))
           }
"Arabica/proj_current/individual_projections/proj_current_arabic
a_pa.data.tmp$pa.tab_Full_GBM.img","Arabica/proj_current/individ
ual_projections/proj_current....

##print output string
individual.proj.quote
NULL

#command to be applied to individual.proj.quote to removed the
final comma from the string substr(individual.proj.quote, 1,
nchar(individual.proj.quote)-1)

Any help or pointers would be greatly appreciated, no amount of
extensive google searches have been fruitful so far.


******************
Jenny Williams
Spatial Information Scientist, GIS Unit
Herbarium, Library, Art & Archives Directorate Royal Botanic
Gardens, Kew Richmond, TW9 3AB, UK

Tel: +44 (0)208 332 5277
email: jenny.williams at kew.org<mailto:jenny.williams at kew.org>
******************

Film: The Forgotten Home of Coffee - Beyond the
Gardens<http://www.youtube.com/watch?v=-uDtytKMKpA&sns=tw>
Stories: Coffee Expedition -
Ethiopia<http://storify.com/KewGIS/coffee-expedition-ethiopia>
             Kew in Harapan Rainforest
Sumatra<http://storify.com/KewGIS/kew-in-harapan-rainforest>
Articles: Seeing the wood for the
trees<http://www.kew.org/ucm/groups/public/documents/document/kp
pcont_060602.pdf>
How Kew's GIS team and South East Asia botanists are working to
help conserve and restore a rainforest in Sumatra. Download a
pdf of this article
here.<http://www.kew.org/ucm/groups/public/documents/document/kp
pcont_060602.pdf>


________________________________
The Royal Botanic Gardens, Kew is a non-departmental public body
with exempt charitable status, whose principal place of business
is at Royal Botanic Gardens, Kew, Richmond, Surrey TW9 3AB,
United Kingdom.

The information contained in this email and any attachments is
intended solely for the addressee(s) and may contain
confidential or legally privileged information. If you have
received this message in error, please return it immediately and
permanently delete it. Do not use, copy or disclose the
information contained in this email or in any attachment.

Any views expressed in this email do not necessarily reflect the
opinions of RBG Kew.

Any files attached to this email have been inspected with virus
detection software by RBG Kew before transmission, however you
should carry out your own virus checks before opening any
attachments. RBG Kew accepts no liability for any loss or damage
which may be caused by software viruses.

	[[alternative HTML version deleted]]

______________________________________________
R-help at 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.



More information about the R-help mailing list