有没有一种简单的方法可以将dplyr summary函数结果添加到每一行?

时间:2020-02-14 17:26:47

标签: r dplyr summarize

以下是我的数据的简单版本:

sample dataset

如果每个组在Column1中至少有一项,我想为其创建一个标志。 我知道我可以在dplyr中执行此操作,然后将其与原始数据合并,但是我想知道是否有更简单的方法。

例如,我可以这样做:

new Date(1561984526000).toLocaleString("ja-JP", {hour: "2-digit"})
// Chrome 80 (and other releases): "08時"
// Chrome 79: "8時"

然后我可以将其与原始数据合并并创建一个标志。

2 个答案:

答案 0 :(得分:2)

如果不进行filter处理,我们可以通过{Group}分组后,根据'Column1'中唯一元素(mutate)的唯一元素的数量创建一个逻辑列,来实现n_distinct / p>

library(dplyr)
df %>%
     group_by(Group) %>%
     mutate(flag = n_distinct(Column1[!is.na(Column1)]) > 1)

答案 1 :(得分:0)

仅使用ifelse对上一个答案进行重复处理,如果您来自Excel(看起来可能是这样),则可能更容易理解:

library(dplyr)

df %>%
    group_by(Group) %>% 
    mutate(flag = ifelse(
        is.na(column1),
        "flag",
        "dont_flag"
    ))