【发布时间】:2021-06-09 17:57:59
【问题描述】:
抱歉,如果这已在其他地方得到解答,我确实看过,但找不到可以复制的示例。
如果我有以下称为 DF 的数据框,其中 1-14 是得分为 1、0 或 3 的项目
Id Date 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 01/01/01 1 0 3 3 1 0 1 3 1 0 3 0 1 1
2 01/02/01 0 3 1 1 0 1 1 1 1 3 1 1 1 3
如何创建一个列,对每个 ID 的项目 1-7 进行平均,不包括 3 或 0 分(所以只有 1 个值),然后为 8-14 创建另一个列?
所以我会这样:
Id Date 1 2 3 4 5 6 7 8 9 10 11 12 13 14 av1-7 av8-14
1 01/01/01 1 0 3 3 1 0 1 3 1 0 3 0 1 1 0.428 0.428
2 01/02/01 0 3 1 1 0 1 1 1 1 3 1 1 1 3 0.57 0.71
如果有人可以提供帮助,将不胜感激。
【问题讨论】:
-
A.) 如果您提供可重现的示例,我们会更容易提供帮助。这避免了我们粘贴和复制内容以及摆弄您的数据集。
dput()是一个神奇的功能。但是请阅读最少的可重现示例。 B.) 你已经制定了你的编程例程。尝试编码。如果您将数据转换为垂直格式,您可以通过df$new_col <- my operation或使用 `mutate(newcol = my operation) 轻松创建一个新列。您可以构建您想要的条件,或者只是将 1 个值相加,然后取平均值。