在Group_by后使用 Count 函数时出现“由'UseMethod()中的错误导致的

Getting a "Caused by error in `UseMethod()" when using Count function after Group_by

提问人:Richard 提问时间:9/15/2023 更新时间:9/15/2023 访问量:17

问:

我正在尝试在我的数据帧中创建一个相等权重的列,方法是将 100 除以每个唯一日期(marketdate)的记录数。

我使用了 Group_by(marketdate),然后使用了 Count 函数,但我不断收到下面的错误。

由以下错误引起: !没有适用于类“Date”的对象的“count”方法UseMethod()

下面是我正在使用的代码。 我是否应该使用其他函数来计算每个日期的记录数? 非常感谢对此问题的任何帮助。

#Add ff_equal column
df <- df |>
  group_by(marketdate) |>
  mutate(ff_equal = 100 / count(marketdate)) |>
  ungroup()
R 分组依据 错误处理 计数

评论

2赞 Ronak Shah 9/15/2023
count(marketdate)是不正确的。请查看帮助文件中给出的示例,这些示例可能会有所帮助。在这种情况下,也许您正在寻找??countn()

答:

0赞 Qasim Alhammad 9/15/2023 #1

Count 不适用于日期类型列,您可以使用 n() 来计算每个组中的行。尝试下面的代码应该可以工作

df <- df |>
  group_by(marketdate) |>
  mutate(ff_equal = 100 / n()) |>
  ungroup()

评论

1赞 Richard 9/15/2023
这很有效。感谢您的帮助!
0赞 Qasim Alhammad 9/16/2023
你非常欢迎理查德,很高兴我能帮上忙。