以下用 for loop 硬幹,但我相信會有更聰明的做法。
# 建資料
cus <- c("A","B","C","A","B")
pro <- c(1,3,2,2,2)
lt <- list()
for (i in 1:length(unique(cus))){
lt[[i]] <- pro[which(cus == unique(cus)[i])]
}
names(lt) <- unique(cus) # 如果 unique(cus) 不適合當 list tag,這列不要用
# lt 為所求
# 看看以下內容
lt
lt$B
lt[[2]]
as.matrix(lapply(lt, paste, sep="", collapse=","))
※ 引述《lambking (BB)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
: [問題敘述]:
: 原始資料如下:
: customer productID
: A 1
: B 3
: C 2
: A 2
: B 2
: 想整理成以下形式
: customer purchaseList
: A 1,2
: B 3,2
: C 2
: 請問有沒有什麼建議的方法呢?
: 謝謝