0
列條目成單獨的列的頻率我有一個數據幀,看起來像:集結中的R
POP<-c(rep("POP1",6), rep("POP2",6), rep("POP3", 6))
IID<-c(rep("POP1_1", 2), rep("POP1_2",2), rep("POP1_3", 2), rep("POP2_1",2), rep("POP2_2",2), rep("POP2_3",2), rep("POP3_1",2), rep("POP3_2",2),rep("POP3_3",2))
Site1<-c(36, 42, 32, 32, 48, 42, 36, 36, 48, 42, 36, 48, 28, 32, 32, 32, 48, 32)
Site2<-c(10, 8, 10, 16, 16, 10, 10, 10, 16, 10, -9, -9, 16, 8, 10, 10, 8, 8)
dat<-cbind(POP, IID, Site1, Site2)
隨着網站更多的列,並且有更多的POP基團。我想按列進行瀏覽,對於列中的每個不同條目,我想要一個新列包含該條目的頻率,並彙總在POP列中。 -9表示缺失值。我不希望這些內容構成專欄,或者爲頻率做出貢獻。
最終,上述數據會看起來像:
dat
POP Site1_28 Site1_32 Site1_36 Site1_42 Site1_48 Site2_8 Site2_10 Site2_16
POP1 0 0.333 0.167 0.333 0.166 0.167 0.5 0.333
POP2 0 0 0.5 0.167 0.333 0 0.75 0.25
POP3 0.167 0.667 0 0 0.167 0.5 0.333 0.167
我猜我會在lapply()在一些使用表()和骨料()的尋找,但我真的沒有想法從哪裏開始。
謝謝!
謝謝,這似乎是一個很好的開始,可能會發生,但我有超過100列。有沒有辦法讓它自動化一下? –
我編輯了我的答案,使其更加自動化。它也照顧'-9'問題 – bouncyball
非常感謝你! –