在R中,如果一列中的值等于另一列中的值,我如何平均一列中的值

在R中,如果一列中的值等于另一列中的值,我如何平均一列中的值,r,R,关于我昨天问的一个问题的进一步提问 Year CW PIECE n 1 2018 31 Y5 A 11 2 2018 32 Y5 A 1 3 2018 33 Y5 A 2 4 2018 36 Y5 B 25 5 2018 37 Y5 B 5 同样,我有一个相当大的数据集。有没有一个简单的方法来循环查看这个-- 对于“PIECE”的每

关于我昨天问的一个问题的进一步提问

    Year    CW  PIECE       n
1   2018    31  Y5 A        11
2   2018    32  Y5 A        1   
3   2018    33  Y5 A        2
4   2018    36  Y5 B        25
5   2018    37  Y5 B        5
同样,我有一个相当大的数据集。有没有一个简单的方法来循环查看这个--
对于“PIECE”的每个唯一值(因此对于这个小样本,将平均Y5 A值得到4.67,Y5 B得到15),平均列“n”中的值。

尝试使用
dplyr
。您可以按
片段进行分组,然后使用
mutate()

输出:

# A tibble: 5 x 5
# Groups:   PIECE [2]
   Year    CW PIECE     n  Mean
  <int> <int> <chr> <int> <dbl>
1  2018    31 Y5 A     11  4.67
2  2018    32 Y5 A      1  4.67
3  2018    33 Y5 A      2  4.67
4  2018    36 Y5 B     25 15   
5  2018    37 Y5 B      5 15   
# A tibble: 2 x 2
  PIECE  Mean
  <chr> <dbl>
1 Y5 A   4.67
2 Y5 B  15  
#一个tible:2x2
计件平均数
1 Y5 A 4.67
2 Y5 B 15
#Code2
newdf <- df %>% group_by(PIECE) %>% summarise(Mean=mean(n,na.rm=T))
# A tibble: 2 x 2
  PIECE  Mean
  <chr> <dbl>
1 Y5 A   4.67
2 Y5 B  15