为每个唯一的用户 ID 创建一个直方图频率向量 R

For each unique user id create a vector of histogram frequencies R

我有 608 个唯一用户 ID,总共约 58,000 个事件。

User.ID      state of charge
1000749          47.08
998235V          93.00
...              ...

我正在尝试为每个 ID 创建一个向量,其中包括它们的直方图 $counts

<Input> {r for each user id create a vector }
list.ids=list()
#stchrg=SOCData$SOC
for (i in unique(SOCData$User.ID)){
  list.ids[[i]]=(hist(SOCData$SOC)$counts/sum(hist(SOCData$SOC)$count))*100
}
View(list.ids)
length(list.ids)
#the length is right it returns 608 which is correct
<Output>
list of each id=c(frequencies for 10 breaks)

现在,我得到了所有需要调整的 ID 的相同频率值以及 Idk 如何调整!

稍后,我想要么将所有数组放在一起计算距离,要么将它们全部放在一个矩阵中。如果您推荐任何更好的方法来获得这样的最终结果,非常感谢您的建议。

注意!可能 bin 最终对于不同的用户来说不是统一和平等的,所以我定义了我的 bin,后来在我的 hist()

中实现了
bins=c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
list.ids = list()
for (i in unique(SOCData$User.ID)) {
list.ids[[as.character(i)]] =as.vector(hist(SOCData[SOCData$User.ID == i, 'SOC'], breaks=bins)$counts / sum(hist(SOCData[SOCData$User.ID == i, 'SOC'], breaks =bins)$count) * 100)
}