Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R月报-页面浏览数据-重复页面但页面浏览量不同。有没有合并的方法?_R_Google Analytics - Fatal编程技术网

R月报-页面浏览数据-重复页面但页面浏览量不同。有没有合并的方法?

R月报-页面浏览数据-重复页面但页面浏览量不同。有没有合并的方法?,r,google-analytics,R,Google Analytics,我正试图创建一些web度量数据的月度报告,不幸的是,涉众希望看到每个URL。这通常是可以的,但是他们忘记了排除谷歌分析中的一些跟踪参数,所以很多URL都是用fbclid这样的参数复制的。这是一个看起来像什么的例子,但实际上我有大约900个URL: df <- tribble( ~month, ~url, ~pageviews, ~bouncerate, "04", "services-we-provide", 800, 30, "04", "services-we-provid

我正试图创建一些web度量数据的月度报告,不幸的是,涉众希望看到每个URL。这通常是可以的,但是他们忘记了排除谷歌分析中的一些跟踪参数,所以很多URL都是用fbclid这样的参数复制的。这是一个看起来像什么的例子,但实际上我有大约900个URL:

df <- tribble(
  ~month, ~url, ~pageviews, ~bouncerate,
  "04", "services-we-provide", 800, 30,
  "04", "services-we-provide?fbclid=iwar1m1xyneodn1z3inhbdbe", 5, 20,
  "04", "services-we-provide?fbclid=idwiw1xyneodn1z3inhbdbe", 1, 1,
  "04", "services-we-provide?fbclid=iwar1m1xyneodn1zrewerwe", 40, 30
)

  month url                                                 pageviews bouncerate
  <chr> <chr>                                                   <dbl>      <dbl>
1 04    services-we-provide                                       800         30
2 04    services-we-provide?fbclid=iwar1m1xyneodn1z3inhbdbe         5         20
3 04    services-we-provide?fbclid=idwiw1xyneodn1z3inhbdbe          1          1
4 04    services-we-provide?fbclid=iwar1m1xyneodn1zrewerwe         40         30
所有这些都将被添加到Google工作表中,所以我想我可以简单地使用一个pivot表来自动删除重复项,但我仍然想知道如何在R中完成,否则工作表将很快变得混乱


感谢您提供的任何帮助

您可以使用
聚合
来实现这一点

df <- transform(df, url=gsub("\\?fbclid.*", "", url))

df <- aggregate(cbind(pageviews, bouncerate) ~ url, df, function(x) 
  c(sum=sum(x), mean=mean(x)))
df
#                   url pageviews.sum pageviews.mean bouncerate.sum bouncerate.mean
# 1 services-we-provide         846.0          211.5          81.00           20.25
当然,在这里我们可能要删除重复项

df <- df[!duplicated(df),]
#   month                 url pageviews bouncerate
# 1    04 services-we-provide       846      20.25

df您可以使用
aggregate
进行此操作

df <- transform(df, url=gsub("\\?fbclid.*", "", url))

df <- aggregate(cbind(pageviews, bouncerate) ~ url, df, function(x) 
  c(sum=sum(x), mean=mean(x)))
df
#                   url pageviews.sum pageviews.mean bouncerate.sum bouncerate.mean
# 1 services-we-provide         846.0          211.5          81.00           20.25
当然,在这里我们可能要删除重复项

df <- df[!duplicated(df),]
#   month                 url pageviews bouncerate
# 1    04 services-we-provide       846      20.25

df在正确的轨道上,我建议您看看,因为它提供了非常简单和强大的数据操作语义

在您的情况下,您可以一次完成所有工作:

库(TIBLE)
图书馆(dplyr)
图书馆(stringr)
df%>%
mutate(url=str\u replace(url,\\?fbclid.*,“”)%>%\删除标记
分组依据(月,url)%>%
总结(页面浏览量=总和(页面浏览量),
反弹率=平均值(反弹率))
#一个tibble:1 x 4
#分组:月[1]
#月url页面浏览量反弹率
#                            
#1 04我们提供的服务846 20.2

您的方法是正确的,我建议您看看,因为它提供了非常简单和强大的数据操作语义

在您的情况下,您可以一次完成所有工作:

库(TIBLE)
图书馆(dplyr)
图书馆(stringr)
df%>%
mutate(url=str\u replace(url,\\?fbclid.*,“”)%>%\删除标记
分组依据(月,url)%>%
总结(页面浏览量=总和(页面浏览量),
反弹率=平均值(反弹率))
#一个tibble:1 x 4
#分组:月[1]
#月url页面浏览量反弹率
#                            
#1 04我们提供的服务846 20.2

谢谢!你的两个答案都对我有帮助,但我不知道
ave
,所以很高兴知道。我接受了安德特的答案,只是因为我认为dplyr对于将来遇到类似问题的其他人来说会更容易理解。Thanks@duncan请参阅更新
聚合
。就我个人而言,我不认为安装/学习一个全新的软件包比R附带的一个新命令更容易理解。谢谢!你的两个答案都对我有帮助,但我不知道
ave
,所以很高兴知道。我接受了安德特的答案,只是因为我认为dplyr对于将来遇到类似问题的其他人来说会更容易理解。Thanks@duncan请参阅更新
聚合
。就我个人而言,我不认为安装/学习一个全新的软件包比R附带的一个新命令更容易理解。