【发布时间】:2020-05-20 04:05:13
【问题描述】:
我有一个物种丰度数据集(作为 .csv 数据格式),我想编写一个自动化的 r 脚本来计算每个采样点的生物指数 (BI)。 BI 基于存在-不存在数据。这是我的数据(P表示存在物种):添加代码格式
df = data.frame(Species = c("Sp1", "Sp2","Sp3", "Sp4", "Sp5", "SP6", "Sp7", "Sp8", "Sp9"), Site1 = c("P", NA, "P", "P", NA, "P", NA, "P", "P"), Site2 = c(NA, "P", "P", "P", "P", NA, "P", "P", NA), Site3 = c("P", "P", NA, "P", NA, NA, NA, NA, "P"), Site4 = c(NA, "P", NA, "P", "P", "P", NA, "P", NA), Site5 = c("P", "P", "P", NA, "P", NA, NA, NA, NA))
每个站点的BI可以计算为=(特定站点中存在的每个物种的耐受值之和/物种总数)*10
品种公差值:
Sp1 =1.2, Sp2=1.1, Sp3=2.3, Sp4=4, Sp5 =2.5, Sp6=7, Sp7=2.7, Sp8=3.4,Sp9 =4.5, Sp10=5.5
输出表应该是这样的:
SiteName BI
Site1 37.3
Site2 26.7
Site3 27
Site4 36
Site5 17.8
有人可以帮我解决这个问题吗?
【问题讨论】:
-
您能否使用
dput即dput(df)添加数据并显示上述示例的预期输出? -
嗨 Ronak,希望这就是你的意思
-
所以你的物种总数是9,对吧?或者您想计算每个物种的站点数量?
-
是的,物种总数为 9,但并非所有站点都获得了全部 9 个物种
标签: r