On 2011-02-10 09:40, mdc wrote:

Hi, I am a new R user and am trying to construct a palaeoenvironmental
transfer function (weighted averaging method) using the package rioja.
I've managed to insert the two matrices (the species abundance and the
environmental data) and have assigned them to the y and x values
respectively. When I try and enter the 'WA' function though, I get an 'Error
in FUN' message (see below for full values). Alas, I do not know what this
means and have struggled to find similar problems to this online. Is there a
step I've missed out between assigning the matrices and the WA function?

SWED=odbcConnectExcel(file.choose())       (SWED is the environmental data
file)
sqlTables(SWED)
Env=sqlFetch(SWED, "Sheet1")
odbcClose(SWED)
Env

    SampleId WTD  Moisture   pH         EC
1  "N1_1"   "20" "91.72700" "3.496674" " 85.02688"
2  "N1_2"   " 2" "93.88913" "3.550794" " 85.69465"
3  "N1_3"   "26" "90.30269" "3.948559" "113.19206"
4  "N1_4"   " 5" "94.14427" "3.697213" " 48.56375"
5  "N1_5"   "30" "90.04269" "3.745020" "108.57278"
....
90 "GAL_15" "70" "94.07849" "3.777932" " 66.77673"


STEST=odbcConnectExcel(file.choose())
sqlTables(STEST)                                      (STEST is the
species abundance file)
Spe=sqlFetch(STEST, "Sheet8")
odbcClose(STEST)
Spe

(The species data contains the abundance of 32 species over 90 sites, set
out like this)
        F1    AmpFlav    AmpWri      ArcCat       ArcDis
1    N1_1 22.2929936 0.0000000  0.0000000  0.0000000
2    N1_2 30.9677419 0.0000000  0.0000000  3.2258065

library(rioja)
y<-as.matrix(Spe)
x<-as.matrix(Env)

WA(y, x, tolDW = FALSE, use.N2=TRUE, check.data=TRUE, lean=FALSE)    (the
command from the WA section of the rioja booklet)
Error in FUN(newX[, i], ...) : invalid 'type' (character) of argument

Well, the error message is fairly clear: you're feeding in
something of type 'character' where something else (presumably)
numeric is wanted.

I don't use rioja, but a quick glance at the documentation
for WA shows that x should be 'a vector of environmental
values to be modelled'. The example uses pH which is almost
surely not a character vector.

Your x is a *matrix* of *character* values. Possibly, you
want to pull, say, pH out of your Env, convert to numeric
and try that. Ditto for the other variables.

If the above is total nonsense, please forgive my rioja
ignorance and wait for more cogent advice from
someone more knowledgeable than I.

Peter Ehlers



Any help would be most appreciated,
Best wishes,
Matthew

______________________________________________
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