繁体   English   中英

如何对 R 中的一列求和,该列被另一列的值过滤? 还是到特定的行?

[英]How to sum a column in R filtered by the value of another column? Or to a specific row?

当另一列是特定值时,我想找到数据集的列总和。 下面是我的数据的屏幕截图,我想对每次迭代的 farmID 求和。

我的猜测是代码是 IF(iteration=x), sum(FarmID) 但我不知道如何实现。

部分数据截图

部分数据截图

另一种方法是使用library(dplyr)函数。 例如,您可以通过迭代对场 ID 求和,如下所示:

yourdata %>% 
  group_by(Iteration) %>% 
  summarise(Farm_ID_sum = sum(Farm ID))

一个例子:

example <- data.frame(
   "Iteration" = sample(1:5, 20, replace = TRUE), 
   "FarmID" = sample(1:500, 20, replace = TRUE)
   )

example %>% 
   group_by(Iteration) %>% 
   summarise(Farm_ID_sum = sum(FarmID))

# Gives the output:
# A tibble: 5 x 2
  Iteration Farm_ID_sum
      <int>       <int>
1         1         790
2         2         694
3         3         391
4         4        1588
5         5        1828

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM