【发布时间】:2015-08-31 03:28:32
【问题描述】:
下午好!
我的数据集有问题。我正在使用 Google AdWords 导出数据进行数据分析,并且我想对数据拟合一个 logit 回归模型,以确定我进行的实验是否会影响转化。
问题在于数据是聚合的并且能够执行 logit 回归,因变量需要是二进制的。因此,我想要的不是具有(例如)10 次展示、5 次点击和 2 次转化的数据点,而是需要 10 个数据点,其中 5 个被点击,其中 2 个已转换。
所以我想从一个看起来像这样的数据框(非常简化)
| Keyword | Impressions | Clicks | Conversions |
| SampleName | 10 | 5 | 2 |
到这里:
| Keyword | Clicked | Converted |
| SampleName | 1 | 1 |
| SampleName | 1 | 1 |
| SampleName | 1 | 0 |
| SampleName | 1 | 0 |
| SampleName | 1 | 0 |
| SampleName | 0 | 0 |
| SampleName | 0 | 0 |
| SampleName | 0 | 0 |
| SampleName | 0 | 0 |
| SampleName | 0 | 0 |
对于一个非常大的数据集,我如何才能做到这一点?我到处寻找,但似乎找不到解决方案。我更喜欢使用 R 来执行此操作,但我也安装了 Excel 和 Stata。
提前致谢!
编辑 这是数据框的一些代码(扩展了额外的行和列)。我对 R 和这个平台很陌生。这可能不是最干净的编码方式,但在这里:
Key <- c("Sample1", "Sample2")
Imp <- c(10, 6)
Cli <- c(5, 3)
Con <- c(2, 1)
CPC <- c(0.26, 0.15)
df1 <- data.frame(Key, Imp, Cli, Con, CPC)
colnames(df1) <- c("Keyword", "Impressions", "Clicks", "Conversions", "CostPerClick")
另外,我现在遇到的问题是,每次点击的平均成本等事情需要重复点击,因为每次点击都会支付价格。所以最后,我需要一个如下所示的数据框:
| Keyword | Clicked | Converted | CPC |
| Sample1 | 1 | 1 | 0.26 |
| Sample1 | 1 | 1 | 0.26 |
| Sample1 | 1 | 0 | 0.26 |
| Sample1 | 1 | 0 | 0.26 |
| Sample1 | 1 | 0 | 0.26 |
| Sample1 | 0 | 0 | 0.00 |
| Sample1 | 0 | 0 | 0.00 |
| Sample1 | 0 | 0 | 0.00 |
| Sample1 | 0 | 0 | 0.00 |
| Sample1 | 0 | 0 | 0.00 |
| Sample2 | 1 | 1 | 0.15 |
| Sample2 | 1 | 0 | 0.15 |
| Sample2 | 1 | 0 | 0.15 |
| Sample2 | 0 | 0 | 0.00 |
| Sample2 | 0 | 0 | 0.00 |
| Sample2 | 0 | 0 | 0.00 |
编辑 2(已解决)
在示例数据集上进行测试时,akrun 的解决方案似乎是正确的,但如果我尝试在我的实际数据集上进行测试,则会出现以下错误:
> result <- setDT(df1)[, list(Clicked=rep(c(1,0), c(Clicks, Impressions-Clicks)),
+ Converted=rep(c(1,0), c(Conversions, Impressions-Conversions)),
+ CPC=rep(c(CostPerClick, 0), c(Clicks,Impressions-Clicks))), Keyword]
Error in rep(c(1, 0), c(Clicks, Impressions - Clicks)) :
invalid 'times' argument
关键字不包含任何重复项且数据没有 NA:
> length(unique(df1$Keyword))
[1] 186145
> nrow(df1)
[1] 186145
> nrow(df1[complete.cases(df1),]) == nrow(df1)
[1] TRUE
数据摘要:
> summary(df1)
Keyword Impressions Clicks Conversions CostPerClick
Length:186145 Min. : 1.00 Min. : 1.000 Min. :0.00000 Min. :0.010
Class :character 1st Qu.: 7.00 1st Qu.: 1.000 1st Qu.:0.00000 1st Qu.:0.130
Mode :character Median : 16.00 Median : 1.000 Median :0.00000 Median :0.210
Mean : 32.93 Mean : 2.167 Mean :0.03368 Mean :0.246
3rd Qu.: 39.00 3rd Qu.: 2.000 3rd Qu.:0.00000 3rd Qu.:0.320
Max. :1521.00 Max. :91.000 Max. :4.00000 Max. :3.680
【问题讨论】:
-
您的问题已明确说明,但您应该显示一些代码的开头。
-
@ChipsLetten 谢谢,我是新来的,但我知道这很有帮助。我在编辑中包含了一些代码,以便您能够复制数据框。
标签: r excel statistics dataset google-ads-api