程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何按数据帧中的因子填充 NA,按 ID大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何按数据帧中的因子填充 NA,按 ID?

开发过程中遇到如何按数据帧中的因子填充 NA,按 ID的问题如何解决?下面主要结合日常开发的经验,给出你关于如何按数据帧中的因子填充 NA,按 ID的解决方法建议,希望对你解决如何按数据帧中的因子填充 NA,按 ID有所启发或帮助;

我有一个带有列 ID(有 800 多个 ID)的数据框,它对应于具有固定地理位置(LAT、LONG)的陷阱。陷阱每周检查一次,然后我得到捕获的昆虫(雌性)的数量。从 06 月到 2014 年,LAT 和 LONG 列为空 (NAs)。我不知道如何使用相同 ID 的另一行中 LAT / LONG 列中的值更新数据库。有人可以帮我吗?

我试过了

ddply(data,"ID",na.locf)

但它不起作用。

部分数据: https://github.com/daniandreza/spatialtemporal.git

解决方法

您可以使用 dplyr::group_bytidyr::fill

library(dplyr);library(tidyr)
data %>%
   group_by(ID) %>%
   fill(LAT:Y,.direction = "updown")
## A tibble: 41 x 9
## Groups:   ID [3]
#      ID   Dia  Mes    ano FEMEA   LAT  LONG       X        Y
#   <int> <int> <int> <int> <int> <dbl> <dbl>   <dbl>    <dbl>
# 1    11    24     4  2014     0 -30.1 -51.2 484034. 6673913.
# 2    11    29     4  2014     1 -30.1 -51.2 484034. 6673913.
# 3    11     7     5  2014     0 -30.1 -51.2 484034. 6673913.
# 4    11     9     1  2014     0 -30.1 -51.2 484034. 6673913.
# 5    11    17     1  2014     1 -30.1 -51.2 484034. 6673913.
# 6    11    21     1  2014     0 -30.1 -51.2 484034. 6673913.
# 7    11    30     1  2014     3 -30.1 -51.2 484034. 6673913.
# 8    11     5     2  2014     0 -30.1 -51.2 484034. 6673913.
# 9    11    13     2  2014     0 -30.1 -51.2 484034. 6673913.
#10    11    21     2  2014     0 -30.1 -51.2 484034. 6673913.
## … with 31 more rows

数据

data <- data.table::fread("https://raw.githubusercontent.com/daniandreza/spatialtemporal/master/Data_MI.csv",dec = ",")
names(data)[3] <- "Mes"
data.table::setDF(data)

大佬总结

以上是大佬教程为你收集整理的如何按数据帧中的因子填充 NA,按 ID全部内容,希望文章能够帮你解决如何按数据帧中的因子填充 NA,按 ID所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: