楼主: 天涯印象
5311 4

[问答] 如何利用R语言做一个土地利用转移矩阵 [推广有奖]

  • 0关注
  • 0粉丝

已卖:48份资源

硕士生

4%

还不是VIP/贵宾

-

威望
0
论坛币
53 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3305 点
帖子
58
精华
0
在线时间
142 小时
注册时间
2016-4-17
最后登录
2024-3-14

楼主
天涯印象 学生认证  发表于 2016-12-19 16:39:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
change0510.xlsx (30.86 KB) 转移矩阵.xls (28.5 KB)

原始数据如下:GRIDCODE和GRIDCODE_1是土地利用类型
101-112林地
21-24草地
31-37湿地
41-42耕地
51-54人工表面
61-69其他
根据GRIDCODE筛选,然后汇总Shape_Area
QQ截图20161219162010.png
Excel制作结果:
QQ截图20161219163531.png

我想知道如何用R编程实现啊,有没有大神指导一下,谢谢!






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:土地利用 R语言 idcode EXCEL Shape R语言

沙发
cheetahfly 在职认证  发表于 2016-12-19 22:52:16
  1. library(dplyr)
  2. library(tidyr)
  3. library(stringr)
  4. #在excel表中选取全部数据区域,Ctr+C
  5. data <- tbl_df(read.table("clipboard", header = TRUE))
  6. data %>% mutate(GRID05 = str_sub(GRIDCODE, start = 1, end = 1), GRID10 =  str_sub(GRIDCODE_1, start = 1, end = 1)) %>%
  7.     filter(GRID05 != 0 & GRID10 != 0) %>%
  8.     mutate(GRID05 = factor(as.numeric(GRID05), levels = 1:6, labels = c("林地", "草地", "湿地", "耕地", "人工表面", "其他"))) %>%
  9.     mutate(GRID10 = factor(as.numeric(GRID10), levels = 1:6, labels = c("林地", "草地", "湿地", "耕地", "人工表面", "其他"))) %>%
  10.     group_by(GRID05, GRID10) %>% summarise(Shape_Area = sum(Shape_Area)) %>%
  11.     spread(key = GRID10, value = Shape_Area)
复制代码


已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

藤椅
Palette221 发表于 2018-4-18 21:41:43
你好,请问一下你是怎么用excel做出转移矩阵的呢?求指教啊谢谢谢谢~!

板凳
天涯印象 学生认证  发表于 2018-5-27 09:37:49
Palette221 发表于 2018-4-18 21:41
你好,请问一下你是怎么用excel做出转移矩阵的呢?求指教啊谢谢谢谢~!
大致就是1楼说的,先根据地类汇总,汇总计算面积,挨个汇总,前后相减,大概是这个思路,具体操作我也不记得了,好久之前做的

报纸
东施西邻 发表于 2020-11-2 16:35:05
Excel数据透视表

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 03:39