【发布时间】:2014-11-24 23:41:13
【问题描述】:
我想使用聚合对一组矩阵进行一些操作,这些矩阵按customer_id 分组,这是我的数据框df 的一列。
例如,我想取df 对应不同customer_id 的子集,并在这些子集中添加一些列,然后全部返回。
在 Python 中,我会使用 groupby 并应用。
如何在 R 中做到这一点?
我写的代码是这样的:
gr_TILPS = aggregate(df,by=list(df[,"customer_id"]),FUN=kmeansfunction)
Error in TILPSgroup$hour : $ operator is invalid for atomic vectors
错误来自我猜的 kmeansfunction,它看起来像:
kmeansfunction = function(dfgroup){
Hour =dfgroup$hour
Weekday =TILPSgroup$WeekdayPrime
x <- cbind(Hour, Weekday)
colnames(x) <- c("x", "y")
(cl <- kmeans(x, 2))
clusters = cl$cluster
origclusters = as.factor(clusters)
dfgroup = cbind(dfgroup,origclusters)
return(dfgroup)
}
【问题讨论】:
标签: python r function matrix apply