gpt4 book ai didi

r - 在 R 中排序和保持不同的重复行

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

我有一个数据框,其中一列 (NAME) 包含以下值 A,A,A,B,C,D,D,A,A,A,F,F,E,C,B我想获取这些值的序列列表,这意味着我的结果应该类似于 A、B、C、D、AF、E、C、B。

我尝试了以下代码:

data <- data %>%
group_by(ID) %>%
arrange(TIME) %>%
distinct(NAME)

但是,distinct 允许一个 NAME 在列表/序列中只包含一次。

此外,通过指定 fmatch(NAME, unique(NAME) 尝试使用库 fastmatch,但遇到错误。

谢谢你的帮助!

最佳答案

我们可以使用 data.table 中的 rleid 根据相邻元素之间的值差异创建组,然后 slice 第一行

library(dplyr)
library(data.table)
data %>%
arrange(ID, TIME) %>%
group_by(ID, grp = rleid(NAME)) %>%
slice(1)

数据

data <- data.frame(ID = rep(1:3, each = 5), TIME = Sys.Date() + 1:15,
NAME = c("A","A","A","B","C","D","D","A","A","A","F","F","E","C","B"))

关于r - 在 R 中排序和保持不同的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55397998/

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