0

下面是我的数据的前 5 行:数据框称为 inverts

    Location Transect  Species         Count
    McAbee     M1       Bat Star         35
    McAbee     M1       Turban Snail     2
    McAbee     M1       Sun Star         1
    McAbee     M1       Chiton           1
    ..........

我正在尝试将我的物种加入并一起计算数据,以便我可以执行方差分析来查看位置和样带之间的差异。我有两个位置和四个样带。

我相信该tapply()功能是用于连接SpeciesCount在一起的正确功能,但我无法弄清楚代码。

我相信代码应该是:

inverts$speciescount = tapply(inverts$Species, inverts$Count, ....)

所以我得到了一些关于如何组合两列的很好的反馈,但是,我仍然无法比较样带和位置之间的数据。我不确定如何进行。我想要做的是创建一个代码:

Count ~ Transect
# or 
Count ~ Location

这样做的问题是计数数据只是一堆数字,它被引用到一个物种。有没有人有什么建议?

感谢您的帮助

4

3 回答 3

1

您可以通过以下方式执行此操作:

within(inverts, speciesCount <- paste(Species, Count, sep=":")

或因素方式:

within(inverts, speciesCount <- Species:factor(Count))

由于这是在线性建模的背景下,因此因子方式似乎更合适。

于 2011-05-12T02:52:14.900 回答
0

如果我正确理解您的问题,因为 d 是您的 data.frame:

newd <- data.frame(d[,c("Location","Transect")],SpeciesCount=paste(d$Species,d$Count))
于 2011-05-12T02:32:26.763 回答
0

我认为您对建模功能的输入应该是什么感到困惑。如果您正在建模计数,那么将需要这样的东西:

cfit <- glm(counts ~  transect + location + species, data=inverts, family="poisson")
anova(cfit)

如果您想查看物种与位置的相互作用,那么您可以检查这个模型:

cfit2 <- glm(counts ~  transect + location + species, data=inverts, family="poisson")
anova(cfit2)

可以进行线性回归,但是您可能会得到无意义的预测,例如负计数。

于 2011-05-12T03:26:35.747 回答