2017-03-20 23 views
0

我想比較beta物種豐富度,並且要執行此操作,我想將當前數據轉換爲在R betapart程序中使用的存在/不存在二進制代碼。將若干因子從一列轉換爲二進制表示R中的存在/不存在二進制碼

我有兩列 - 第一個帶有一個採樣物種的位置,第二個是所有觀察到的魚類物種的列(在某些情況下爲18+物種)。下面就是我一起工作的一個例子:


#Site  Species 
#0001-HIL yellow bullhead, brown bullhead, goldfish 
#0001-ETC yellow bullhead, goldfish, emerald shiner 
#0001-BAP brown bullhead, emerald shiner 

我想用適當的R代碼,以上述data.frame,並把它變成一個矩陣這樣的:

  #yellow bullhead___brown bullhead___goldfish___emerald shiner 
#0001-HIL   1     1    1    0 
#0001-ETC   1     0    1    1 
#0001-BAP   0     1    0    1 

(原諒使用所有#,否則我無法創建表)。

我知道使用重塑,sapply,融化等,但我真的不知道使用哪一個。我有超過10,000行的數據。

任何幫助將不勝感激。

回答

-1

我們可以split後很容易做到的荷蘭國際集團「物種列

library(qdapTools) 
d1 <- mtabulate(strsplit(as.character(df1$Species), ",")) 
row.names(d1) <- df1$Site 
d1 
#   brown bullhead emerald shiner goldfish brown bullhead 
#0001-HIL    1    0   1    0 
#0001-ETC    0    1   1    0 
#0001-BAP    0    1   0    1 
#   yellow bullhead 
#0001-HIL    1 
#0001-ETC    1 
#0001-BAP    0 
+0

什麼是對downvote? – akrun

相關問題