gpt4 book ai didi

r - 用不可靠的数据总结一个data.table

转载 作者:行者123 更新时间:2023-12-04 11:30:57 25 4
gpt4 key购买 nike

我有一个 data.table 事件记录,例如用户 ID、居住国和事件。
例如。,

dt <- data.table(user=c(rep(3, 5), rep(4, 5)),
country=c(rep(1,4),rep(2,6)),
event=1:10, key="user")

如您所见,数据有些损坏:事件 5 将用户 3 报告为在国家 2(或者他可能旅行 - 在这里对我来说无关紧要)。
所以当我尝试总结数据时:
dt[, country[.N] , by=user]
user V1
1: 3 2
2: 4 2

我为用户 3 弄错了国家/地区。
理想情况下,我想获得用户最常见的国家和地区
他在那里度过的时间百分比:
   user country support
1: 3 1 0.8
2: 4 2 1.0

我怎么做?

实际数据有 ~10^7 行,所以解决方案必须缩放(这就是为什么我使用 data.table 而不是 data.frame 毕竟)。

最佳答案

其它的办法:

已编辑。 table(.)是罪魁祸首。改成完成 data.table句法。

dt.out<- dt[, .N, by=list(user,country)][, list(country[which.max(N)], 
max(N)/sum(N)), by=user]
setnames(dt.out, c("V1", "V2"), c("country", "support"))
# user country support
# 1: 3 1 0.8
# 2: 4 2 1.0

关于r - 用不可靠的数据总结一个data.table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16200815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com