gpt4 book ai didi

r - 子集()一个因子的观察次数

转载 作者:行者123 更新时间:2023-12-01 08:34:22 29 4
gpt4 key购买 nike

subset() 函数有问题。如何通过观察次数对我的数据框的一个因子进行子集化?

   NAME      CLASS         COLOR   VALUE      
antonio B YELLOW 5
antonio B BLUE 8
antonio B BLUE 7
antonio B BLUE 12
luca C YELLOW 99
luca B YELLOW 87
luca B YELLOW 98
giovanni A BLUE 48

我想获取三个因素“名称”、“类别”和“颜色”至少比较三次的数据,以便获得 VALUE 的平均值。在这种情况下,我将获得:

   NAME      CLASS         COLOR   VALUE      
antonio B BLUE mean

因为安东尼奥是唯一一个对每个因素都有三个观察结果的人

非常感谢

尼克

最佳答案

table函数可以使用如下:

subset(df, table(FACTOR)[FACTOR] >= 3)
# FACTOR VALUE
# 1 ANTONIO 5
# 2 ANTONIO 8
# 3 ANTONIO 7

为了帮助您理解,请查看这些返回的内容:

table(df$FACTOR)
table(df$FACTOR)[df$FACTOR]
table(df$FACTOR)[df$FACTOR] >= 3

您还可以使用 ave 函数来计算观察次数:

subset(df, ave(VALUE, FACTOR, FUN = length) >= 3)

如果您有多个因素,例如您在评论中提出的问题和更新的问题,那么最后一种方法可能会更灵活一些。你可以这样做:

subset(df, ave(VALUE, NAME, CLASS, COLOR, FUN = length) >= 3)

关于r - 子集()一个因子的观察次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13777317/

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