gpt4 book ai didi

r - 子集 R 中每个观察的第一行

转载 作者:行者123 更新时间:2023-12-01 16:11:59 27 4
gpt4 key购买 nike

我有数据框:

Observations Value
obs 1 1
obs 1 2
obs 1 3
obs 1 4
obs 2 5
obs 2 6
obs 2 7
obs 3 8
obs 3 9

是否可以只对每个观察的第一行进行子集化?

这样我得到:

Observations Value
obs 1 1
obs 2 5
obs 3 8

最佳答案

我想你想为此使用 duplicated 函数。

> df[!duplicated(df$Observations), ]
# Observations Value
# 1 obs 1 1
# 5 obs 2 5
# 8 obs 3 8

另一种选择是

> unsplit(lapply(split(df, df$Observations), `[`, 1,), levels(df$Observations))
# Observations Value
# 1 obs 1 1
# 5 obs 2 5
# 8 obs 3 8

虽然后者使用循环,并且会比 duplicated 方法慢很多个月。

do.call("rbind", lapply(split(df, df$Observations), "[", 1,)) 也可以使用。

关于r - 子集 R 中每个观察的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533619/

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