【发布时间】:2021-02-28 22:47:39
【问题描述】:
#Create a sample data frame:
set.seed(1)
Data <- data.frame(Vendor_ID = sample(1:10000), Bank_Account_ID = sample(1:10000))
大家好。我有一个数据框,它是供应商 ID 的集合和每个供应商的银行帐号。我正在尝试找到一种方法来计算出现在多个 vendor_ID 中的重复银行帐户的数量。
我可以使用 dplyr 和 group_by 对同一供应商中出现的银行账户进行计数并进行计数,但我无法找到一种方法来计算多个 vendor_ID 中的重复项。
提前感谢您的帮助。
【问题讨论】:
-
Data %>% group_by(Bank_Account_ID) %>% filter(n_distinct(Vendor_ID) > 1)能满足您的需求吗? -
这似乎会产生一个 tibble,但如果可能的话,我正在尝试添加一个新的变量列,其中包含原始数据框每一行中重复银行账户的计数。
-
啊,我明白了。
Data = Data %>% group_by(Bank_Account_ID) %>% mutate(Num_Vendors) = n_distinct(Vendor_ID))怎么样? -
给我一个奇怪的错误:list2(...) 中的错误:找不到对象'Vendor_ID'
-
@manotheshark 是对的;应该是
Data = Data %>% group_by(Bank_Account_ID) %>% mutate(Num_Vendors = n_distinct(Vendor_ID))。