数组集长度不等于数组分布之和
Array Set Length unequal to Sum of Array Distribution
我有一个这样的用户 ID 列表:["1111","5555","1111","8983",...]。然后我计算 ids 的频率分布。但是不知何故添加分发箱的大小小于用户设置。
function histogram(List){
var d = {};
for(const x of List){
if (x in d){
d[x]+=1;
}
else{
d[x]=1;
}
}
return d
}
var featureuserids = f1_users.concat(f2_users,f3_users,f4_users)
var featureusers = [...new Set(featureuserids)];
const featurehist = histogram(Object.values(histogram(featureuserids)))
const n_featureusers = featureusers.length
这是一个示例输出。
Feature Users: 17379
Feature Hist: { '1': 16359, '2': 541, '3': 93, '4': 6 }
我的错误是什么?
我找到了答案。我的一个列表 (f1_users) 将 id 保存为 int,而其他列表为字符串格式。因此,他们在该组中被计为双倍。将它们全部转换为字符串后,问题得到解决。
我有一个这样的用户 ID 列表:["1111","5555","1111","8983",...]。然后我计算 ids 的频率分布。但是不知何故添加分发箱的大小小于用户设置。
function histogram(List){
var d = {};
for(const x of List){
if (x in d){
d[x]+=1;
}
else{
d[x]=1;
}
}
return d
}
var featureuserids = f1_users.concat(f2_users,f3_users,f4_users)
var featureusers = [...new Set(featureuserids)];
const featurehist = histogram(Object.values(histogram(featureuserids)))
const n_featureusers = featureusers.length
这是一个示例输出。
Feature Users: 17379
Feature Hist: { '1': 16359, '2': 541, '3': 93, '4': 6 }
我的错误是什么?
我找到了答案。我的一个列表 (f1_users) 将 id 保存为 int,而其他列表为字符串格式。因此,他们在该组中被计为双倍。将它们全部转换为字符串后,问题得到解决。