我有15个鹿,我正在用它分析从斜坡tif中提取的使用和预期数据点。文件。目前我正在分析预期数据,并在计算百分比时遇到问题从“列表”中计算百分比,R
使用的软件包是栅格软件包,rgdal和psych软件包。 数据布局:我的数据以“列表”格式显示,并显示给每个人(即15行),每个人的结构如下:Deer01,2 1 5 4 2 3 2 2(其中数字表示斜坡的类别) 。但是,我现在想尝试计算所有鹿的5或2的总数(代表斜率),并将其转换为百分比。
问题:我不知道如何从上面描述的“列表”数据结构中计算类别5(或2等)的比例,并且需要帮助。 我想我必须总结行/列或东西,但我不确定如何。有人知道如何?从下面的语法中可以明显看出,只有1个列标题引用了ID(Deer)列(参见上文中的结构类型)。
这里是完整的语法我用内50%的活动范围:
install.packages("raster")
library(raster)
install.packages("rgdal")
library(rgdal)
Slope<-raster("C:\\REWORK\\SLOPE011.tif")
plot(Slope)
Slope
str(Slope)
install.packages("psych")
library(psych)
计算和分类的50%的预期斜率值
m <- matrix (c(0, 5, 1,
5, 10, 2,
10, 15, 3,
15, 20, 4,
20, Inf, 5), ncol=3, byrow=TRUE)
r2 <- reclassify(Slope, m)
r2
plot(r2)
All50HRs<-shapefile("L:\\GPSdatabackup\\KERNELS\\NewHRs50")
plot(All50HRs)
All50HRs
library(raster)
update.packages("raster")
尝试使用矢量格式,以提取由空间的多边形坡”并维护Object_ID 这里数据是以“列表”格式需要的
Exp50poly <- extract(r2, All50HRs)
names(Exp50poly)<-All50HRs$Object_ID
str(Exp50poly)
这部分是我在试图摆脱在STR(Exp50poly)显示的数据的比例值的尝试,但它似乎没有工作
Exp50polycov.table50.sum<-colSums(Exp50polycov.table50)
Exp50polycov.table50.sum<-Exp50polycov.table50.sum/sum(Exp50polycov.table50.sum)
Exp50polycov.table50.sum
尝试和帮助的人看到我的数据结构,我抄来自控制台的一些数据,我看到了我的数据。见下面(左边的'是只有一个ID,右边的斜率代码)。这是重复15次为每个
dr_12_008_11: num [1:2089] 1 1 2 3 2 2 1 1 1 2...
dr_14_011_12: num [1:5260] 2 2 2 2 2 2 2 2 2 2...
dr_10_012_14: num [1:710] 2 2 2 2 3 3 2 2 3 3 2..
希望有人能帮助,谢谢
您正在使用的术语,我怀疑仅由一些不知名的包或纪律的其他用户共享。也许你应该提供一个完整的例子(并解释你对术语“圈子”的理解),或者考虑为这个软件包的用户找到一个邮件列表,或者分享你对这些术语的理解。 – 2014-11-05 17:47:55
提取?你在使用光栅包吗?这并不完全清楚。 – Spacedman 2014-11-05 17:48:21