我有一些工作代码(下面),对于第二列,它创建了它:创建新的数据框,通过特定列过滤原始数据框;对该过滤 Dataframe 的另一列的不同条目进行计数;left将此结果连接到原始数据框。
我想知道是否有一种更干净的方法来实现相同的结果(即,而不是必须创建一个新的 Dataframe 并将其连接到原始 Dataframe )。
# calculate initial column
data <- data %>%
group_by(column_a) %>%
mutate("total_sub_rows" = sum(column_b == 'specific')) %>%
ungroup()
# is there a way to get below into above code?
new_column <- data %>%
filter(column_b == 'specific') %>%
group_by(column_a) %>%
summarise(sub_rows = n_distinct(column_c)) %>%
ungroup()
data <- data %>%
left_join(new_column)
请看上面的代码,我只是感兴趣,如果有一个更好的方法来写这个。
最终结果的一个例子是:
1条答案
按热度按时间nnsrf1az1#
试试这个,一个虹膜数据集的例子:
在您的具体情况下,它可能是: