【发布时间】:2015-11-07 23:06:06
【问题描述】:
我有一个超出我技能水平的编码问题。我希望有人可以帮助我,为我指明完成这项任务所需的工具的方向。
我正在尝试创建一个独特物种数量的图~虚构岛屿的累积面积。我的图上的第一点将是岛上 1 的物种数量,第二点将是岛上 1 和 2 上的物种累积数量,第三点将是岛上 1,2 上的物种累积数量,& 3等
我总共有 30 个岛屿,我的数据是这样的:
species=c("ted", "ben", "ira", "nic", "meg", "ira", "nic", "ted", "ben", "kim" )
island=c(1,1,1,2,2,2,2,3,3,3)
size=c(10,10,10,20,20,20,20,30,30,30)
dat=data.frame(species, island, size)
到目前为止,我最好的方法是这样做:
A=subset(dat, island="1", select=c(name, size)))
B=subset(dat, island%in% c("1", "2"), select=c(name, size))
C=subset(dat, island%in% c("1", "2", "3"), select=c(name, size))
然后我可以使用 length() 和 unique() 函数来计算每个虚构岛屿(A、B、C 等)上的物种数量。我还需要找出每个虚构的累积岛的面积(在这种情况下,A 的大小为 10,B 的大小为 30,C 的大小为 60)。
Alength=length(unique(A$species))
Asum=sum(unique(A$size)))
Blength=length(unique(B$species))
Bsum=sum(unique(B$size)))
Clength=length(unique(C$species))
Csum=sum(unique(C$size)))
但这对于 30 个岛屿来说会变得非常乏味,我想学习以正确的方式去做。
因此,最终产品将是一组新的虚构岛屿,其中包含许多物种和一个区域。比如:
imaginaryisland=c("A","B","C")
numberofspecies=c(3,5,6)
size=c(10, 30, 60)
任何帮助我指出正确的方向将不胜感激!
【问题讨论】: