gpt4 book ai didi

R:如何组合具有相同 id 的数据帧的行并采用最新的非 NA 值?

转载 作者:行者123 更新时间:2023-12-01 23:40:39 27 4
gpt4 key购买 nike

示例数据框

date       name     speed  acceleration
1/1/17 bob 5 NA
1/1/15 george 5 NA
1/1/15 bob NA 4
1/1/17 bob 4 NA

我想将所有具有相同名称的行压缩为一行,并为速度和加速度列保留最新的非 na 值。

期望输出
date       name     speed  acceleration
1/1/17 bob 5 4
1/1/15 george 5 NA

最佳答案

你可以这样做:

library(dplyr)
library(lubridate)

input = read.table(text =
"date name speed acceleration
1/1/17 bob 5 NA
1/1/15 george 5 NA
1/1/15 bob NA 4
1/1/17 bob 4 NA",
header = TRUE, stringsAsFactors = FALSE)

output <- input %>%
mutate(date = mdy(date)) %>% # or maybe dmy, depending on your date format
group_by(name) %>%
arrange(desc(date)) %>%
summarise_all(funs(na.omit(.)[1]))

output
# # A tibble: 2 × 4
# name date speed acceleration
# <chr> <date> <int> <int>
# 1 bob 2017-01-01 5 4
# 2 george 2015-01-01 5 NA

关于R:如何组合具有相同 id 的数据帧的行并采用最新的非 NA 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42078862/

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