分享

R语言物种多样性计算

 枫林秋2016 2019-10-08

导入的数据格式如下:


R语言读取数据和计算方法:

library(readxl)

hdata <- read_excel(path = "bcdherb.xlsx", sheet = 1, col_names = T)

hdata <- hdata[,2:91]

#循环计算H值

i <- 1

totalcol <- ncol(hdata)

h <- vector(length = totalcol)

D <- vector(length = totalcol)

J <- vector(length = totalcol)

N <- vector(length = totalcol)

for(i in i:totalcol){

 a <- names(hdata)[i]      #提取数据框表头

 tempdata <- hdata[[a]]    #提取数据框中表头为a的数据Pi

 tempdata <- na.omit(tempdata)

 h[i] <- -1*sum(tempdata*log(tempdata))  #H值计算Shannon-Wiener多样性指数

 D[i] <- 1-sum(tempdata^2)     #Simpson指数

 J[i] <- h[i]/log(length(tempdata))      #Pielou均匀度指数

 N[i] <- length(tempdata)    #有效值个数

}

h

D

J

N

hdataexport <- rbind(hdata,h,D,J,N)

write.csv(hdataexport, file = "bcdherbExport.csv")

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多