R- dplyr summarise_impl(.data,dots)中的错误:期望一个值



我想将changesize标准化为以下代码,在我看来,我的代码没有问题。为什么这给我带来了

的错误

summarise_impl中的错误(.data,dots):期望一个值

str(pricechange_0.5_2)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':1907600 obs. of  13 variables:
$ url           : chr  "http://item.yhd.com/item/1242267" 
$ time          : chr  "2016-01-02" "2016-01-02" "2016-01-02" "2016-01-02" ...
$ changPrice    : num  0.997 1 1 1 1 ...
$ classify      : Factor w/ 251 levels "","Clothing"....
$ changesize    : num  -0.334 0 0 0 0 ...
$ abs_changesize: num  0.334 0 0 0 0 ...
library(dplyr)
by_url <- group_by(pricechange_0.5_2,url)
url_datad <- summarise(by_url,url_sd_chasize=(changesize -
                                              mean(changesize))/sd(changesize))

这是我数据的示例。

A tibble: 10 × 3                                                                           
                             url  hangesize abs_changesize                                                                                      
                           <chr>      <dbl>          <dbl>                                                       
http://item.yhd.com/item/1242267 -0.3343999      0.3343999
  http://item.jd.com/418657.html  0.0000000      0.0000000
...

其他方法可以将changesize作为url

这是一个选项:

url_unique <- unique(pricechange_0.5_2$url)
by_url <- list()
for(i in 1:length(url_unique)){
  by_url[[i]] <- filter(pricechange_0.5_2, url == url_unique[i])
  by_url[[i]] <- scale(by_url[[i]])
}
by_url <- do.call("rbind", by_url)

这将扩展您的数据中的所有值。

最新更新