【发布时间】:2015-07-23 06:54:03
【问题描述】:
我正在尝试计算“类”高度中物种出现的次数(沿高度梯度分布)。
这是原始数据框:
tab
R sp N Hauteur Alt Plot Quadrat Microhab Cover
1 R2 B 1 0-50cm 350 P1 Q1 TA 50
2 R2 D 1 0-50cm 350 P1 Q1 TA 50
3 R3 A 2 0-50cm 550 P1 Q1 TA 95
4 R3 C 1 0-50cm 550 P1 Q1 TA 95
5 R3 B 3 0-50cm 550 P1 Q1 TA 95
6 R3 D 4 0-50cm 550 P1 Q1 TA 95
7 R4 C 3 0.5-1m 350 P1 Q1 TB 50
8 R4 A 4 0.5-1m 350 P1 Q1 TB 50
9 R4 E 2 0.5-1m 350 P1 Q1 TB 50
10 R4 D 3 0.5-1m 350 P1 Q1 TB 50
11 R4 B 4 0.5-1m 350 P1 Q1 TB 50
这是我想要得到的:
head(parametres)
SP Altmin Altmax Altmoy nb_350.549 nb_550.749 [...] %_350.549m
A 350 550 450 1 0 ... 50
B 350 550 416.67 2 1 ... 33.3
C 350 550 450 1 0 ... 50
为此,我设法获得了前 4 列(“SP”、“Altmin”、“Altmax”、“Altmoy”)。但我无法通过“海拔等级”(例如“nb_350.549”)获得出现次数,也无法获得每个海拔等级在所有人中的代表性百分比,关于每个物种的出现次数(例如“ %_350.549) - 实际上是 = nb.occ.SP(A) / nb_350.549 *100
这是我的脚本:
parametres<-ddply(tab,.(sp),function(esp){
+ summarise(esp,
+ Altmin=min(Alt),
+ Altmax=max(Alt),
+ Altmoy=mean(Alt),
+ )})
有什么想法吗?
谢谢!
R.
【问题讨论】:
-
原始数据集中的每个
Alt值都有 350 作为值。为什么第一行报告 800 为Altmin?我猜示例数据是错误的。请提供一些更“现实”的东西,以便每个人都可以检查预期的结果。 -
您好,已修改!当然最好是这样!感谢您的建议!
-
以下是一些关于如何根据可重现示例进行思考的提示:stackoverflow.com/questions/5963269/…
标签: r class conditional-statements find-occurrences