zoukankan      html  css  js  c++  java
  • Geocomputation with R课后习题答案(第三章)

    #Geocomputation with R课后练习题,第三章
    setwd("F:\shunyi")
    library(pacman)
    p_load(sf,tmap,spData,tidyverse,dplyr,units,magrittr)
    
    #加载数据
    data(us_states)
    data(us_states_df)
    
    #1、创建一个新对象us_states_name,该对象仅包含us_states对象Name列
    #us_states_name为字符串向量,没有空间属性
    us_states_name<-us_states$NAME
    # us_states_name<-st_sf(us_states,geometry=us_states$geometry)
    #运用管道符创建保留了空间属性
    us_states_name<-us_states%>%select("NAME")
    
    #2、从us_states对象中选取人口列,尝试用三种方法
    #采用中括号提取
    pop1<-us_states[,c("total_pop_10","total_pop_15")]
    #采用select()函数提取
    pop2<-select(us_states,c(total_pop_10,total_pop_15))
    #采用辅助函数contains()和starts_with()
    pop3<-us_states%>%select(contains("pop"))
    pop4<-us_states%>%select(starts_with("total"))
    
    #3.1找到中西部地区
    midwest<-us_states%>%filter(REGION=="Midwest")
    #3.2找到拥有25万平方公里以下和2015年人口超过5百万的西部地区
    #设置单位
    a<-set_units(250000,km^2)
    west<-us_states%>%
      filter(REGION=="West")%>%
      filter(AREA<a&total_pop_15>5000000)
    #3.3面积大于15万平方公里或2015年总人口超过7000000的南方
    b<-set_units(150000,km^2)
    south<-us_states%>%
      filter(REGION=="South")%>%
      filter(AREA>b | total_pop_15>7000000)
    
    #4、2015年总人口,最大值,最小值
    tpop<-us_states%>%
      st_drop_geometry()%>%
      select(total_pop_15)%>%
      summarise(pop=sum(.),max=max(.),min=min(.))
    
    #5、每个地区有多少州
    NAMEnum<-us_states%>%
      st_drop_geometry()%>%
    #  select(NAME,REGION)%>%
      group_by(REGION)%>%
      summarise(NAMEm=n())
    
    #6、2015年各地区的最低、最高和总人口分别是?
    regpop<-us_states%>%
      st_drop_geometry()%>%
    #  select(total_pop_15,REGION)%>%
      group_by(REGION)%>%
      summarise(min=min(total_pop_15),max=max(total_pop_15),tot=sum(total_pop_15))
    
    #7、将us_states_df加入到us_states中
    us_states_stats<-us_states%>%left_join(us_states_df,by=c(NAME="state"))
    
    #8、找到us_states_df比us_states多的两列
    duo<-anti_join(us_states_df,us_states,by=c("state"="NAME"))
    
    #9、2010、2015年各州人口密度
    us_states%<>%mutate(popdes10=total_pop_10/as.numeric(AREA),
                        popdes15=total_pop_15/as.numeric(AREA))
    
    #10、每个州在2010-2015年间的变化率
    us_states%<>%mutate(changepop=(popdes15-popdes10)/total_pop_10*100)
    
    #11、将列名改为小写
    names(us_states)<-tolower(names(us_states))
    
    #12、创建新对象us_states_sel,只有两个变量median_income_15和geometry
    us_states_sel<-us_states_stats%>%select(Income=median_income_15,geometry)
    
  • 相关阅读:
    linux网络编程-socket(36)
    linux网络编程-socket(2)
    linux网络编程-socket(1)
    jni不通过线程c回调java的函数
    jni 字符串的梳理 2 字符串的处理操作
    jni 字符串的梳理
    android studio 中jni底层日志的打印
    事件冒泡与事件捕获
    盒子模型
    比较好的前端面试题
  • 原文地址:https://www.cnblogs.com/cqy-wt1124/p/15136526.html
Copyright © 2011-2022 走看看