如何解决R中频率表的模态测试?
我从基本格式的 r 中的 shapefile 创建了高程与面积 (m^2) 的频率表:
elevation_frequencies <- data.table(elevation = c(0,1,2,3,4,5,6),area = c(65,345,876,9834,3487,987))
我想计算关于这种跨海拔区域分布的统计数据(即模态、偏斜、均值)。然而,所有这些统计数据通常应用于原始数据而不是频率表。因为我从 shapefile 中提取了这个频率表,所以我没有原始数据。我可以通过创建一个向量来生成原始数据,其中每个高程都由区域列中的相应值重复,但是,我的真实数据中的许多区域值都是 1,000,000 公里,因此这会耗尽我的记忆。
有没有办法将统计数据(即模态(diptest?)、偏斜、均值等)直接应用于频率表?
提前致谢!
解决方法
如果您使用相应的公式,按照下一个模式您将能够实现您的目标:
x 的统计平均值等于 sum(x)/length(x) 则:
sum(x) 等于 0(65 次)+ 1(345 次)之和,以此类推。即 0*65 + 1*345 + ... + 6*987
x 的长度是 65 (0's) + 345 (1's) 等等。即 65 + 345 + ... + 987
这样:
(elevation_frequencies <- data.frame(elevation = c(0,1,2,3,4,5,6),area = c(65,345,876,9834,3487,987)))
(mean = sum(elevation_frequencies$elevation * elevation_frequencies$area)/sum(elevation_frequencies$area))
[1] 3.524298
(mode = elevation_frequencies$elevation[elevation_frequencies$area == max(elevation_frequencies)])
3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。