Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从R中的现有列在空间数据框中创建新列

从R中的现有列在空间数据框中创建新列
EN

Stack Overflow用户
提问于 2021-07-16 00:03:03
回答 1查看 41关注 0票数 0

我将一个shapefile作为dataframe上传到R中,其中的两个列分别是X1X5,从这两个列中,我使用dplyr创建了一个新的列class。代码在某种程度上是有效的,但是在新列中有NA值,其中假定有X1值。如何解决这个问题?

包含感兴趣列的示例数据

代码语言:javascript
运行
AI代码解释
复制
FID X1  X5  class
1   VEG PRPU    
2   VEG PRPU    
3   VEG PRPU    
4   VEG PRPU    
5   WTR NA  
6   WTR NA  
7   WTR NA  
8   VEG PLSE    
9   VEG PLSE    
10  GRND NA         
11  GRND NA

使用str(df)的数据类型信息

代码语言:javascript
运行
AI代码解释
复制
Classes ‘sf’ and 'data.frame':  211 obs. of  8 variables:
 $ id      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ X1      : chr  "VEG" "VEG" "VEG" "VEG" ...
 $ X2      : chr  "GRN" "GRN" "GRN" "GRN" ...
 $ X3      : chr  "SHRB" "SHRB" "SHRB" "SHRB" ...
 $ X4      : chr  "DES" "DES" "DES" "DES" ...
 $ X5      : chr  "PLSE" "PLSE" "PLSE" "PLSE" ...
 $ geometry:sfc_POLYGON of length 211; first list element: List of 1
  ..$ : num [1:7, 1:2] 756524 756524 756524 756524 756524 ...
  ..- attr(*, "class")= chr [1:3] "XY" "POLYGON" "sfg"
 $ class   : logi  NA NA NA NA NA NA ...
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA
  ..- attr(*, "names")= chr [1:6] "id" "X1" "X2" "X3" ...

代码

代码语言:javascript
运行
AI代码解释
复制
library(tidyverse)
library(sf)
# Create a new column `class`
df = st_read("/path", "file")
df = df%>% add_column(class = NA)

# Mutate
df = df %>% dplyr::mutate(class = ifelse(X5 == "", X1, X5))

更新的空间数据帧

代码语言:javascript
运行
AI代码解释
复制
  FID   X1  X5  class
    1   VEG PRPU PRPU   
    2   VEG PRPU PRPU
    3   VEG PRPU PRPU   
    4   VEG PRPU PRPU   
    5   WTR NA   NA
    6   WTR NA   NA
    7   WTR NA   NA
    8   VEG PLSE PLSE
    9   VEG PLSE PLSE   
    10  GRND NA  NA
    11  GRND NA  NA
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-16 01:15:50

因为列X5中有NA值,这些值不完全是空单元格(如ArcGIS所示)。我不得不稍微调整代码,现在它可以工作了。

代码语言:javascript
运行
AI代码解释
复制
library(tidyverse)
library(sf)
# Create a new column `class`
df = st_read("/path", "file")
df = df%>% add_column(class = NA)

# Mutate
df = df %>% dplyr::mutate(class = ifelse(is.na(X5), X1, X5))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68402035

复制
相关文章
聊聊 nestjs 中的依赖注入
首先 nestjs 是什么?引用其官网的原话 A progressive Node.js framework for building efficient, reliable and scalable server-side applications.,翻译一下就是:“一个可以用来搭建高效、可靠且可扩展的服务端应用的 node 框架”。目前在 github 上有 42.4k 的 star 数,人气还是很高的。
政采云前端团队
2022/01/18
3.3K0
聊聊 nestjs 中的依赖注入
Dotenv在nestjs中的使用
Dotenv 是一个零依赖的模块,它能将环境变量中的变量从 .env 文件加载到 process.env 中。
挥刀北上
2021/12/20
17.2K1
Dotenv在nestjs中的使用
重定向、别名、绝对路径、相对路径 详解
惨绿少年
2017/12/28
1.5K0
STM32中重定向printf到SWO口[通俗易懂]
引用网址:http://blog.csdn.net/xiaolei05/article/details/8526021
全栈程序员站长
2022/11/16
2.5K0
STM32中重定向printf到SWO口[通俗易懂]
Linux中的重定向
处理数据需要输入输出,在linux中一切皆文件,所操作的输入输出都认为是一个文件,而此文件表现为每打开一个文件系统会分配一个数字,这个数字代表一个文件,这个数字叫文件描述符FileDescriptor
鱼丸葱面
2020/12/22
2.7K0
Linux中的重定向
NestJs 管道(Pipe)
在 Nestjs 中管道是具有 @Injectable() 装饰器且已实现 PipeTransform 接口的类。
前端小鑫同学
2023/10/16
3990
NestJs 管道(Pipe)
【Python】重定向 Stream 到
Python 系统模块 sys 中有三个变量 stdin 、 stdout 与 stderr ,分别对应标准输入流、输出流与错误流。stdin 默认指向键盘, stdout 与 stderr 默认指向控制台。
py3study
2020/01/17
9300
HTTP中的重定向
URL 重定向,也称为 URL 转发,是一种当实际资源,如单个页面、表单或者整个 Web 应用被迁移到新的 URL 下的时候,保持(原有)链接可用的技术。HTTP 协议提供了一种特殊形式的响应—— HTTP 重定向(HTTP redirects)来执行此类操作,该操作可以应用于多种多样的目标:网站维护期间的临时跳转,网站架构改变后为了保持外部链接继续可用的永久重定向,上传文件时的表示进度的页面,等等。
刘亦枫
2020/03/19
2K0
HTTP中的重定向
Shell中的重定向
标准输入、标准输出和标准错误 一个程序的的输入可以来自于键盘,也可以来自于文件或者其他设备;同样的,一个程序也可以将输出显示在屏幕或者保存到文件中。这就涉及到标准输入、标准输出和标准错误。 程序的输入是标准输入,默认是键盘,用户可以将其指定为文件或其他设备。 程序的输出有两种,即标准输出和标准错误,其中标准输出是程序的正常输出、标准错误是程序的错误输出。二者默认都被指定为屏幕,用户可以将其指定为文件或其他设备。 下面的程序从键盘读取输入,将结果显示在屏幕上,即标准输入、标准输出和标准错误都采用默认的设置:
mwangblog
2018/07/04
8010
jmeter中自动重定向和跟随重定向的区别
自动重定向(状态码一般是200、20X):当重定向时,自动跳转时,只针对GET和Head请求,自动重定向可以自动跳转到最终目标页面,但是jmeter不记录重定向过程内容【在查看结果树中只能看到重定向后的响应内容】
muntainyang
2020/10/23
2.1K0
我为什么喜欢NestJS
做过 Java EE 开发的朋友对 Spring 框架应该很熟悉了,它全面的功能和优秀的设计是得以广泛流行的原因。它通过灵活使用控制反转、依赖注入和面向切面编程等设计理念,极大的规范了大型应用的架构,降低了模块之间的耦合度,从而提升了应用的开发效率。在 NodeJS 的世界里,也存在一个全面借鉴 Spring 设计思想的框架,它在 github 上有将近 2w 的 star,npm 的周下载量超过 11w,它就是本文要介绍的 NestJS。
Dickensl
2022/06/14
2K0
我为什么喜欢NestJS
nestjs集成superagent
最近在开发人脸识别设备,需要将服务器的人员数据下发到设备,这里面有个接口需要提供图片流,我的图片是存在七牛云上面的,根据用户的avatorid我可以找到图片存在七牛云的url。
挥刀北上
2021/12/15
1.1K0
nestjs集成superagent
BFF与Nestjs实战
主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate
乐圣
2022/11/19
2.8K0
BFF与Nestjs实战
C++中的I/O重定向
在 C 中,我们可以使用函数freopen()将现有的 FILE 指针重定向到另一个流。freopen() 的原型为 
鲸落c
2023/05/23
7170
Linux中Shell重定向
原文链接:https://rumenz.com/rumenbiji/linux-shell-redirect.html
入门笔记
2022/06/02
1.7K0
20. 精读《Nestjs》
Nestjs 是我见过的,将 Typescript 与 Nodejs Framework 结合的最好的例子。
黄子毅
2022/03/14
4.1K0
20. 精读《Nestjs》
NestJs 静态目录配置
由于官方文档没有做详细解释说明,那么我们可以从此框架底层入手: 我们知道,nestjs底层用的是express,那么express是通过什么来完成静态目录构建的:
stormKid
2019/03/15
3.5K0
NestJs 静态目录配置
nestjs连接redis
安装 npm install nestjs-redis 连接 # cache.module.ts import { Module } from '@nestjs/common'; import { RedisModule } from 'nestjs-redis' import {CacheService} from './cache.service'; let options={ port: 6379, host: '123.456.432.1', // 远程调试
程序员不务正业
2021/12/16
2.1K0
重定向Kubernetes pod中的tcpdump输出
最新发现一个比较有意思的库ksniff,它是一个kubectl 插件,使用tcpdump来远程捕获Kubernetes集群中的pod流量并保存到文件或输出到wireshark中,发布网络问题定位。使用方式如下:
charlieroro
2023/02/25
1.1K0
点击加载更多

相似问题

使用apache和nestjs重定向到主页的问题

120

NestJS将HTTP重定向到HTTPS /强制SSL

26

NestJS Jest找不到具有绝对路径的模块

232

使用vue.router重定向到绝对路径

15

React中的绝对路径重定向

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档