分析总结或生态样本
Analysis and summary or ecological samples
我正在处理这个数据集:
dat<-read.table(text = "Sample Pho Spec
1 FagS Lic1
2 FagS Lic1
3 FagS Lic2
5 QueP Lic2
6 QueP Lic1
7 FagS Lic1
8 FraE Lic3
9 FraE Lic4, header=T)
而且我会知道 phorophytes (Pho) 的物种 (Spec) 多样性,并且能够通过比较 Pho 的 SpecDiv 与 Pho 的样本量 (NuOfSa) 来思考这些信息。
示例:
Pho SpecDiv NuOfSa Ratio
FagS 2 4 0.5
QueP 2 2 1
FraE 2 2 1
目的是通过 "barplot" 绘制此信息,以便比较植被植物之间的物种多样性。
非常感谢您的帮助 ;)
R.
我们可以使用data.table
。将'data.frame'转换为'data.table'(setDT(dat)
),按"Pho"分组,得到unique
"Spec"的length
(uniqueN
) 和行数 (.N
),然后通过将一个除以另一个
得到 "ratio"
library(data.table)
setDT(dat)[,list(SpecDiv=uniqueN(Spec), NuOfSa=.N) ,
Pho][, ratio:= SpecDiv/NuOfSa][]
# Pho SpecDiv NuOfSa ratio
#1: FagS 2 4 0.5
#2: QueP 2 2 1.0
#3: FraE 2 2 1.0
这将是一个基本解决方案(在替换示例代码中缺少的双引号之后):
temp <- cbind( SpecDiv= rowSums( with(dat, table( Pho, Spec))>0 ),
NuOfSa=with(dat, table( Pho)))
final <- cbind( temp, ratio=temp[,1]/temp[,2])
final
#--------
SpecDiv NuOfSa ratio
FagS 2 4 0.5
FraE 2 2 1.0
QueP 2 2 1.0
最困难的部分是弄清楚短语 "specie (Spec) diversity by phorophytes (Pho)" 的含义。将来您应该更彻底地解释您的领域特定约定,以便 non-ecologists 能够提供更好的帮助。将关于出现或不存在的计数的良好数据折叠起来的概念似乎导致我理解统计观点的方式严重丢失数据。我质疑在观察集中是否有 "occasional"(用 "birders" 的语言)真的有资格增加 "species diversity"。
绘图任务等待更好的描述 <what>
是针对 <what>
绘制的。
我正在处理这个数据集:
dat<-read.table(text = "Sample Pho Spec
1 FagS Lic1
2 FagS Lic1
3 FagS Lic2
5 QueP Lic2
6 QueP Lic1
7 FagS Lic1
8 FraE Lic3
9 FraE Lic4, header=T)
而且我会知道 phorophytes (Pho) 的物种 (Spec) 多样性,并且能够通过比较 Pho 的 SpecDiv 与 Pho 的样本量 (NuOfSa) 来思考这些信息。
示例:
Pho SpecDiv NuOfSa Ratio
FagS 2 4 0.5
QueP 2 2 1
FraE 2 2 1
目的是通过 "barplot" 绘制此信息,以便比较植被植物之间的物种多样性。
非常感谢您的帮助 ;)
R.
我们可以使用data.table
。将'data.frame'转换为'data.table'(setDT(dat)
),按"Pho"分组,得到unique
"Spec"的length
(uniqueN
) 和行数 (.N
),然后通过将一个除以另一个
library(data.table)
setDT(dat)[,list(SpecDiv=uniqueN(Spec), NuOfSa=.N) ,
Pho][, ratio:= SpecDiv/NuOfSa][]
# Pho SpecDiv NuOfSa ratio
#1: FagS 2 4 0.5
#2: QueP 2 2 1.0
#3: FraE 2 2 1.0
这将是一个基本解决方案(在替换示例代码中缺少的双引号之后):
temp <- cbind( SpecDiv= rowSums( with(dat, table( Pho, Spec))>0 ),
NuOfSa=with(dat, table( Pho)))
final <- cbind( temp, ratio=temp[,1]/temp[,2])
final
#--------
SpecDiv NuOfSa ratio
FagS 2 4 0.5
FraE 2 2 1.0
QueP 2 2 1.0
最困难的部分是弄清楚短语 "specie (Spec) diversity by phorophytes (Pho)" 的含义。将来您应该更彻底地解释您的领域特定约定,以便 non-ecologists 能够提供更好的帮助。将关于出现或不存在的计数的良好数据折叠起来的概念似乎导致我理解统计观点的方式严重丢失数据。我质疑在观察集中是否有 "occasional"(用 "birders" 的语言)真的有资格增加 "species diversity"。
绘图任务等待更好的描述 <what>
是针对 <what>
绘制的。