2016-03-09 80 views
0

我正在處理一大組客戶數據,並試圖找出客戶每月訪問的商店的平均數量。在我的數據中,我爲每個客戶和他們訪問的商店代碼都有唯一的識別號碼。我的數據幀的樣品看起來象下面這樣:R-如何根據另一列對唯一行數進行計數

sitecode<-c(1000,1000,1001,1000) 
productcode<-c('X','X','Y','X') 
customercode<-c('A','B','A','C') 
Date<-c('01/01/2016','02/01/2016','03/01/2016','04/01/2016') 
data1<-data.frame(customercode,Date,productcode,sitecode) 

在此基礎上,我想什麼有是一個簡單的表格,爲客戶ABC與他們參觀了賣場的唯一的號碼是2 A,1 B和C 。 你能幫我嗎?

+0

'table(data1 $ customercode)'? – mtoto

+0

'tapply(data1 $ sitecode,data1 $ customercode,function(x)length(unique(x))''? – Frank

+0

@mtoto這將無法正常工作。例如,客戶B可以訪問同一個網站兩次,所以表(data1 $ customercode)將給出2的B.但在這種特殊情況下,由於客戶B訪問的網站的唯一數量是1,我希望看到1. –

回答

0
data1 
# customercode  Date productcode sitecode 
# 1   A 01/01/2016   X  1000 
# 2   B 02/01/2016   X  1000 
# 3   A 03/01/2016   Y  1001 
# 4   C 04/01/2016   X  1000 


result=table(data1$customercode,data1$sitecode) 
result 

    1000 1001 
A 1 1 
B 1 0 
C 1 0 

希望這在一定程度上有所幫助。

相關問題