R 编程中的 Countif

问题描述 投票:0回答:2

我有一个包含以下列的数据框

供应商 产品 价格
101 1001 1.50
101 1001 1.50
101 1001 1.80
102 1001 2.10
102 1001 2.10
101 1002 10.10
101 1002 10.10
101 1002 10.10
103 1002 10.10
104 1002 20.10
104 1002 20.10
104 1002 10.10

我需要计算每个供应商的每种产品的每个价格出现的次数,并创建一个新的数据框 df2,如下所示:

产品 供应商 价格 价格计数
1001 101 1.5 2
1001 101 1.8 1
1001 102 2.1 2
1002 101 10.10 3
1002 103 10.10 1
1002 104 10.10 1
1002 104 20.10 2

我是 R 编程新手,到目前为止我尝试的一切都不起作用。任何帮助将不胜感激

r countif group
2个回答
0
投票

可能是重复的问题

library(dplyr)

df %>%  
  count(Product, Vendor, Price, name = "Count")

# A tibble: 7 × 4
  Product Vendor Price Count
    <dbl>  <dbl> <dbl> <int>
1    1001    101   1.5     2
2    1001    101   1.8     1
3    1001    102   2.1     2
4    1002    101  10.1     3
5    1002    103  10.1     1
6    1002    104  10.1     1
7    1002    104  20.1     2

0
投票

生成虚假数据:

vendor <- sample(x = 1:5,size = 100,replace = TRUE)+100  
product <- sample(x = 1:8,size = 100,replace = TRUE)+1000  
price <- (product-1000) + sample(x = -8:8,size = 100,replace = TRUE)/10  
df <- data.frame(vendor,product,price) 

使用 dplyr 的解决方案:

library(dplyr)  
df %>% group_by(vendor,product,price) %>% count
© www.soinside.com 2019 - 2024. All rights reserved.