【问题标题】:Mutate a column counting only 1 - 2 - 3 - 1 - 2 - 3 [duplicate]突变一列仅计数 1 - 2 - 3 - 1 - 2 - 3 [重复]
【发布时间】:2020-07-29 14:01:43
【问题描述】:

我有一个超过 10,000 行的数据框,我想改变一个列,将每一行标记为 1、2 或 3。从第一行开始 = 1,第二行 = 2,第三行 = 3,然后从 1 重新开始第四行,重复整个数据帧。

非常感谢任何帮助。

【问题讨论】:

  • 感谢您,不幸的是我收到以下错误:错误:分配的数据1:3 必须与现有数据兼容。 x 现有数据有 12 行。 x 分配的数据有 3 行。 ℹ 只回收大小为 1 的向量。
  • 这能回答你的问题吗? Repeat vector to fill down column in data frame
  • 确实如此,但问题的表述方式与手头的问题只有轻微的相似之处,所以我无法找到它。我建议在宣布最终答案之前修改问题。

标签: r dplyr purrr


【解决方案1】:

如果行数完全可以被向量的长度整除,那么您可以使用:

df$row <- 1:3

一般的解决方案是重复 1:3 直到数据框中的行数。

df$row <- rep(1:3, length.out = nrow(df))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2020-01-10
    • 2012-07-30
    • 2010-12-02
    • 1970-01-01
    相关资源
    最近更新 更多