gpt4 book ai didi

r - 按因子水平选择行

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

我有一个数据框,df2 ,包含按 ID factor 分组的观察值我想子集。我使用了另一个函数来确定要选择的每个因素组中的哪些行。这在 df 中显示如下:

df <- data.frame(ID = c("A","B","C"),
pos = c(1,3,2))
df2 <- data.frame(ID = c(rep("A",5), rep("B",5), rep("C",5)),
obs = c(1:15))

df , pos对应于我想在 ID 中提到的因子级别内选择的行的索引,不在整个数据帧中 df2 .我正在寻找一种方法来为每个 ID 选择行根据正确的索引(因此它们在 df2 的每个因子的级别内的行号)。

所以,在这个例子中,我想选择 df2 中的第一个值与 ID == 'A'df2 中的第三个值与 ID == 'B'df2 中的第二个值与 ID == 'C' .

这将给我:
df3 <- data.frame(ID = c("A", "B", "C"),
obs = c(1, 8, 12))

最佳答案

这是基本的R解决方案:

df2$pos <- ave(df2$obs, df2$ID, FUN=seq_along)
merge(df, df2)
ID pos obs
1 A 1 1
2 B 3 8
3 C 2 12

df2ID 排序,你可以做 df2$pos <- sequence(table(df2$ID))对于第一行。

关于r - 按因子水平选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32210545/

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