R中的For循环编译错误

R中的For循环编译错误,r,if-statement,for-loop,R,If Statement,For Loop,我在R中有一个数据框,按部门列出商店的每月销售数据。每个记录包含一个月/年、一个部门名称以及该部门当月的总销售额。我试图按部门计算平均销售额,将其添加到向量avgs中,但我似乎遇到了两个问题:每个部门的总销售额根本没有编译(其评估为零),而avgs是按记录而不是按部门编译的。以下是我所拥有的: avgs = c() for(dept in data$departmentName){ total <- 0 for(record in data){ if(identical(d

我在R中有一个数据框,按部门列出商店的每月销售数据。每个记录包含一个月/年、一个部门名称以及该部门当月的总销售额。我试图按部门计算平均销售额,将其添加到向量
avgs
中,但我似乎遇到了两个问题:每个部门的总销售额根本没有编译(其评估为零),而
avgs
是按记录而不是按部门编译的。以下是我所拥有的:

avgs = c()
for(dept in data$departmentName){
  total <- 0
  for(record in data){
    if(identical(data$departmentName, dept)){
      total <- total + data$ownerSales[record]
    }
  }
  avgs <- c(avgs, total/72)
}
avgs=c()
用于(数据中的部门$departmentName){
总计为什么不使用
库(dplyr)


我喜欢
dplyr
,因为它的语法和管道性。我认为它比base R有很大的改进,以便于数据争论。这里有一个很好的备忘单来帮助你开始使用:

哈哈,我没有意识到我没有解释划分。数据集中有72个月的时间,所以我要计算总销售额/72=平均值。我在R方面是个相当新手而且从未见过
dplyr
,在本例中
Species
将等同于我的
部门名称
,结果列将给出我的
部门
总计
,并且
avg
,R不是编译语言。
library(dplyr)
data(iris)

iris %>% group_by(Species) %>% # or dept
    summarise(total_plength = sum(Petal.Length), # total owner sales
              weird_divby72 = total_plength/72) # total/72?
# A tibble: 3 × 3
     Species total_plength weird_divby72
      <fctr>         <dbl>         <dbl>
1     setosa          73.1      1.015278
2 versicolor         213.0      2.958333
3  virginica         277.6      3.855556
data %>% group_by(deptName) %>%
    summarise(total_sales = sum(ownerSales),
              monthly_sales = total_sales/72)