[R] Character type and size using spatstats
Patrick Connolly
p_connolly at slingshot.co.nz
Thu May 15 09:27:32 CEST 2014
On Thu, 15-May-2014 at 03:00PM +1200, Rolf Turner wrote:
|>
|> Dear Patrick,
|>
|> (a) Your attachment did not come through; only attachments with
|> extensions belonging to a limited class are passed through by the
|> list software.
I should have made use of dput() twice instead. However, it can be
got at https://db.tt/ic5YDzpN
|>
|> Perhaps you could email your data set to me privately,
|>
|> (b) I have only had a quick glance at your code. A few comments:
|>
|> * In your first call to ppp(), "range(ColN), range(Row)" will be
|> ignored. They would be used to construct a (rectangular) window
|> except for the fact that you have specified "window" explicitly.
|>
|> * the argument "maxsize" gets used only if the marks involved are
|> *numeric*; it'll be ignored when the marks are a factor.
|>
|> * the argument "chars" should take values which would be acceptable
|> as values of the "pch" argument to plot(). The levels of
|> "Concept" do not meet this requirement.
But the elements of bb9$Pch do meet that requirement and that approach
still fails. Something else is missing. The use of "chars" appears
only once in that PDF file, so I didn't have enough to work it out for
myself.
|>
|> * if I were me I wouldn't clutter things up by plotting the density
|> estimate initially. Just plot the pattern, until you get the
|> sort of result you want. *Then* overlay it on top of a density
|> plot.
|>
|> (c) If you send me the data off-list and explain in words what it
|> is that you want to achieve ("Tell me what you want to do not how
|> you want to do it.") then I'm pretty sure that I can show you how
|> to achieve it.
A picture is worth a thousand words. I think when you see what the
example code produces, it will be clear what I wish to achieve. I'm
sure it's something very simple but evidently too subtle for Pooh (who
is a bear with only a small brain).
Thanks for the help, Rolf.
best
Patrick
|>
|> cheers,
|>
|> Rolf
|>
|> On 15/05/14 14:25, p_connolly wrote:
|> >The spatstat package has hundreds of useful functions but I'm having
|> >trouble understanding the intricate ways it does things. I've read lots of
|> >Rspatialcourse_CMIS_PDF Standard.pdf from here:
|> >http://www.csiro.au/resources/pf16h but can't find what I need to know. I'm
|> >particularly interested in how to set the plotting character and its
|> >size in density plots.
|> >
|> >
|> > require(spatstat)
|> > load("CharacterSizeRData") # (attached to this message)
|> > ls()
|> >[1] "all.win" "bb9"
|> > head(bb9)
|> > Col Row ColN Concept Pch VinesJune VinesAug New Event
|> >1 A 10 3.333333 Gold 4x 4 42 41 1 TRUE
|> >8 A 16 3.333333 Gold 4x 4 42 41 1 TRUE
|> >10 A 18 3.333333 Gold 4x 4 42 41 1 TRUE
|> >11 A 19 3.333333 Gold 4x 4 42 41 1 TRUE
|> >14 A 21 3.333333 Gold 4x 4 42 41 1 TRUE
|> >18 A 24 3.333333 Gold 4x 4 42 34 8 TRUE
|> >>
|> >## If I make a ppp class object from bb9, like so:
|> > ppp9A <- with(bb9, ppp(ColN, Row, range(ColN), range(Row), window =
|> >all.win,
|> > marks = Concept))
|> >## I can do a density plot:
|> > plot(density(ppp9A, 5, edge = FALSE, weights = bb9$New), main = "ppp9A")
|> >## Adding to show the points:
|> > plot(ppp9A, add = TRUE, cols = "red", maxsize = max(bb9$New)/20)
|> >## works except that maxsize is ignored.
|> >##
|> >## If I make the ppp object like this:
|> > ppp9B <- with(bb9, ppp(ColN, Row, range(ColN), range(Row), window =
|> >all.win,
|> > marks = New))
|> > plot(density(ppp9B, 5, edge = FALSE, weights = bb9$New), main = "ppp9B")
|> > plot(ppp9B, add = TRUE, cols = "red", maxsize = max(bb9$New)/20)
|> >## maxsize works how I intended.
|> >##
|> >## I tried to combine plotting character and size with a fancier use of
|> >marks
|> > ppp9C <- with(bb9, ppp(ColN, Row, range(ColN), range(Row), window =
|> >all.win,
|> > marks = data.frame(New, Concept)))
|> >## Then try
|> > plot(density(ppp9C, 5, edge = FALSE, weights = marks(ppp9C)$New),
|> >main = "")
|> > plot(ppp9C, add = TRUE, cols = "red", chars =
|> >levels(marks(ppp9C)$Concept),
|> > maxsize = max(marks(ppp9C)$New)/20)
|> >## chars is ignored and no error message to complain or explain
|> >
|> >What I wish to know is how to get plotting character and size
|> >information displayed simultaneously. I tried ways of specifying it
|> >from bb9 dataframe instead of the ppp object, or specifying a fixed
|> >value but it's always ignored. Ideally, I'd like to customize the
|> >plotting characters used, but getting the defaults to work would be a
|> >start.
--
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
___ Patrick Connolly
{~._.~} Great minds discuss ideas
_( Y )_ Average minds discuss events
(:_~*~_:) Small minds discuss people
(_)-(_) ..... Eleanor Roosevelt
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
More information about the R-help
mailing list