使用r,我如何将一个不是基本聚合函数的函数(moment :: skewness)应用于分组表?

时间:2016-05-19 01:52:37

标签: r dplyr amazon-redshift

我在Redshift中有一组众包的天气数据:很多站,每天很多天,每天20到100次观测,每次观察几个变量。我正在计算每日统计数据。它的工作原理如下;

dailyn<-cwoparchive %>%
filter(stationname=="EW2020" %>%
group_by (archivedate) %>%
summarise(ncount=n(),meanlat=mean(latitude),meanlon=mean(longitude)) %>%
collect() %>%
data.frame ()

返回这个,正是我想要的:

  • archivedate ncount meanlat meanlon
  • 1 2013-02-06 2 38.82667 -76.79884
  • 2 2013-03-19 22 38.82700 -76.79816
  • 3 2013-03-21 45 38.82700 -76.79816
  • 4 2013-03-22 49 38.82699 -76.79819
  • 5 2013-03-24 63 38.82690 -76.79836
  • 6 2013-03-27 62 38.82691 -76.79834
  • 7 2013-03-28 48 38.82700 -76.79816
  • 8 2013-03-29 45 38.82700 -76.79816
  • 9 2013-03-30 39 38.82700 -76.79816
  • 10 2013-04-01 49 38.82697 -76.79823等。

接下来我想知道早晨是否阳光充足。但是,当我做同上面的事情时,只用这一个替换总结线:

summarise(askew=skewness(linterpreted))

我收到错误消息,&#34; postgresqlExecStatement(conn,statement,...)出错:   RS-DBI驱动程序:(无法检索结果:错误:函数偏差(整数)不存在 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。&#34;然而,偏斜函数在正常的非分组数据帧中对相同数据起作用。

1 个答案:

答案 0 :(得分:1)

为打扰每个人而道歉,我把它解决了。首先下载,然后在后续步骤中进行分组 - 这似乎是不合理的,但这是必要的,然后总结一下。

function saveAsSpreadsheet(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();  
  var destFolder = DriveApp.getFolderById("xxxxxxxxxxxxxxxxx"); 
  DriveApp.getFileById(sheet.getId()).makeCopy("desired file name", destFolder);
}

产生理想的结果:

  • archivedate count askew
    • (日期)(int)(dbl)
    • 1 2013-02-06 2 0.0000000
    • 2 2013-03-01 5 -0.3755537
    • 3 2013-03-19 22 -0.2498925
    • 4 2013-03-20 38 -0.3328628
    • 5 2013-03-21 45 0.7237873等。