market <- data.frame(
Bid = c(501,502,503,504,505,506),
Cname = c('Aman','Riya','Karan','Neha','Rohit','Simran'),
Gender = factor(c('male','female','male','female','male','female')),
Membership = factor(c('gold','silver','gold','none','silver','gold')),
Category = factor(c('Grocery','Electronics','Clothing','Grocery','Electronics','Clothing')),
Quantity = c(10,1,3,8,2,5),
CP = c(50,20000,800,60,18000,700),
SP = c(70,25000,1000,80,22000,900),
Discount = c(100,2000,150,50,500,300),
Dtype = factor(c('home','store','home','store','home','home'))
)
market$Gross_revenue <- market$Quantity * market$SP
market$Total_cost <- market$Quantity * market$CP
market$Net_revenue <- market$Gross_revenue - market$Discount
market$Profit <- market$Net_revenue - market$Total_cost
subset(market, Profit >= 5000 & Membership == 'gold' & Dtype == 'home')
## [1] Bid Cname Gender Membership Category
## [6] Quantity CP SP Discount Dtype
## [11] Gross_revenue Total_cost Net_revenue Profit
## <0 rows> (or 0-length row.names)
subset(market, Profit < 0)
## [1] Bid Cname Gender Membership Category
## [6] Quantity CP SP Discount Dtype
## [11] Gross_revenue Total_cost Net_revenue Profit
## <0 rows> (or 0-length row.names)
subset(market, Quantity >= 2 & Discount > 1000 & Profit > 0)
## [1] Bid Cname Gender Membership Category
## [6] Quantity CP SP Discount Dtype
## [11] Gross_revenue Total_cost Net_revenue Profit
## <0 rows> (or 0-length row.names)
subset(market, Net_revenue > 20000 | Membership == 'gold')
## Bid Cname Gender Membership Category Quantity CP SP Discount Dtype
## 1 501 Aman male gold Grocery 10 50 70 100 home
## 2 502 Riya female silver Electronics 1 20000 25000 2000 store
## 3 503 Karan male gold Clothing 3 800 1000 150 home
## 5 505 Rohit male silver Electronics 2 18000 22000 500 home
## 6 506 Simran female gold Clothing 5 700 900 300 home
## Gross_revenue Total_cost Net_revenue Profit
## 1 700 500 600 100
## 2 25000 20000 23000 3000
## 3 3000 2400 2850 450
## 5 44000 36000 43500 7500
## 6 4500 3500 4200 700
market$PC <- ifelse(
market$Profit >= 10000,
'high profit',
ifelse(market$Profit >= 0, 'moderate profit', 'loss')
)
market$Risk_flag <- ifelse(
market$Discount > (0.2 * market$Gross_revenue) | market$Profit < 0,
'risky',
'safe'
)
aggregate(Profit ~ Membership + Category, data = market, sum)
## Membership Category Profit
## 1 gold Clothing 1150
## 2 silver Electronics 10500
## 3 gold Grocery 100
## 4 none Grocery 110