gpt4 book ai didi

r - 在 r 数据表中前向填充行

转载 作者:行者123 更新时间:2023-12-04 00:19:25 25 4
gpt4 key购买 nike

我有一个大数据表,格式如下

Name       Value     1      2     3     4     5 
A 58 1 NA NA NA NA
B 47 NA 1 NA NA NA
C 89 NA NA 1 NA NA
D 68 NA NA NA 1 NA
E 75 NA NA NA NA 1

我想转发数据表的行以实现以下结果。我知道如何转发填充列。

Name       Value     1      2     3     4     5 
A 58 1 1 1 1 1
B 47 NA 1 1 1 1
C 89 NA NA 1 1 1
D 68 NA NA NA 1 1
E 75 NA NA NA NA 1

帮助!

最佳答案

data.table 有它自己的 nafill 函数。

library(data.table) #v>=1.12.8
library(magrittr)

melt(dt, id = 1:2) %>%
.[, value := nafill(value, "locf"), by = Name] %>%
dcast(., ... ~ variable)

# Name Value 1 2 3 4 5
# 1: A 58 1 1 1 1 1
# 2: B 47 NA 1 1 1 1
# 3: C 89 NA NA 1 1 1
# 4: D 68 NA NA NA 1 1
# 5: E 75 NA NA NA NA 1

数据

dt <- fread("Name       Value     1      2     3     4     5 
A 58 1 NA NA NA NA
B 47 NA 1 NA NA NA
C 89 NA NA 1 NA NA
D 68 NA NA NA 1 NA
E 75 NA NA NA NA 1")

关于r - 在 r 数据表中前向填充行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61701066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com