gpt4 book ai didi

r - 在 R 中计算响应率

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

我在R中有一个数据表,例如:

enter image description here

id 列是唯一的 customerid。我想做的是通过分割因素计算响应率列。

我如何执行诸如 count(unique paymentid)/count(unique id) 之类的函数来排除 paymentid 中的 NA?

我希望我的结果表看起来像:

enter image description here

非常感谢!

最佳答案

可能有一种更优雅的方法来做到这一点,但这里有一个选项(稍微过时的版本)data.table:

library(data.table)
library(scales)
##
setDT(Df)
##
Df2 <- Df[
,list(
NumberSent=.N,
NumberResponded=length(
unique(na.omit(paymentid)))),
by=segment][,ResponseRate:=percent(
NumberResponded/NumberSent)]
##
R> Df2
segment NumberSent NumberResponded ResponseRate
1: Y 2 1 50.0%
2: R 2 2 100.0%
3: B 3 2 66.7%

其中 scales 包仅用于函数 percent


数据:

Df <- data.frame(
id=1:7,
segment=rep(c("Y","R","B"),c(2,2,3)),
paymentamount=c(10,NA,20,15,12,13,NA),
paymentid=c(11,NA,12,13,14,15,NA))

关于r - 在 R 中计算响应率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27894038/

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