0

以下は私のデータの最初の5行です:データフレームは反転と呼ばれます

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

ANOVAを実行して、場所とトランセクトの違いを確認できるように、種を結合してデータをカウントしようとしています。私は2つの場所と合計4つのトランセクトを持っています。

この関数は、結合しtapply()て結合するために使用するのに正しい関数だと思いますが、コードを理解できません。SpeciesCount

コードは次のようになります。

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

そのため、2つの列を組み合わせる方法についていくつかの良いフィードバックを受け取りましたが、トランセクトと場所の間のデータを比較することはできません。どうすればいいのかわからない。私がやりたいのは、次のような場所にコードを作成することです。

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 に答える