Reputation: 973
I have a species table count (data) which consists on species discrete counts (columns) per sample (row). The samples are divided in 2 categories: control and stress which are represented in a design file by a single column: Condition. My idea: remove 10 samples (test), do a CCA on the (data - 10 samples) (train) and use the CCA to predict the coordinates of the 10 samples.
train.cca <- cca(train ~ Condition, data=design)
Here are the results:
Eigenvalues for constrained axes: CCA1 0.078
123 unconstrained eigenvalues (CA1...CA123)
I can represent the cca object with plot(train.cca):
Colours: blue(control) and red(stress).
The axes are built on CCA1 coordinates and the first unconstrained eigenvalue (CA1). Next, I tried to predict the test data (the 10 samples):
predict(object=train.cca, model="CCA", type="wa", newdata=test)
this function gives me a set of 10 CCA1 coordinates:
CCA1 0.92 0.25 0.13 0.41 1.49 0.18 0.99 1.44 2.03 0.17
My question is: how can I place these on the plot? All vegan examples (?predict.cca) have several CCA coordinates, so I am stuck with this 1-dimensional output that I can't represent in the plot (I miss the 10 CA1 coordinates). Am I doing the right thing?
Upvotes: 0
Views: 546
Reputation: 3722
It is true, that vegan only returns scores for one component ("CCA"
or "CA"
) in predict
. So you have to get the components separately and combine them with cbind()
if you want to have results from several components, like in this case when the CCA
component has only one axis:
ax1 <- predict(object=train.cca, model="CCA", type="wa", newdata=test)
ax2 <- predict(object=train.cca, model="CA", rank=1, type="wa", newdata=test)
ax12 <- cbind(ax1,ax2)
points(ax12) # to add points to an existing grapch
Upvotes: 1