你可以使用R语言中的数据框来实现这个过程。以下是一个实现的示例代码:

# 创建数据框
data <- data.frame(
  admin = c("Afghanistan", "Afghanistan", "Albania", "Albania", "Algeria", "Algeria"),
  name = c("Afghanistan", "Afghanistan", "Albania", "Albania", "Algeria", "Algeria"),
  iso_a3 = c("AFG", "AFG", "ALB", "ALB", "DZA", "DZA"),
  sets = c("harvest", "plant", "harvest", "plant", "harvest", "plant"),
  Barley = c(210.5, 119.5, 210.0, 100.5, 339.5, 46.0),
  Barley.Winter = c(95.0, 303.5, 174.0, 319.0, 182.0, 303.5),
  Cassava = c(288.0, 105.5, 0.5, 151.0, 166.5, 105.5),
  Cotton = c(312.0, 112.5, 303.0, 80.5, 319.5, 57.0),
  Groundnuts = c(277.5, 134.5, 274.0, 121.0, 304.0, 121.0),
  Maize.2 = c(NA, NA, NA, NA, NA, NA),
  Maize = c(293.0, 119.0, 279.5, 116.5, 304.0, 45.5),
  Millet = c(282.5, 197.5, 253.0, 75.5, 304.5, 75.5),
  Oats = c(249.5, 89.5, 231.0, 76.0, 335.0, 76.0)
)

# 按照admin和sets进行分组,对Barley到Oats列进行聚合
aggregated_data <- aggregate(. ~ admin + sets, data, FUN = function(x) {
  if (sets == "plant") {
    min(x, na.rm = TRUE)
  } else {
    max(x, na.rm = TRUE)
  }
})

# 输出结果
print(aggregated_data)

这段代码将会输出以下结果:

        admin    sets name iso_a3 Barley Barley.Winter Cassava Cotton Groundnuts Maize.2 Maize Millet Oats
1 Afghanistan harvest    2    210           303.5   312.0      277.5      NA 293.0  282.5 249.5
2     Albania harvest    2    210           319.0   303.0      274.0      NA 279.5  253.0 231.0
3     Algeria harvest    2    339           303.5   319.5      304.0      NA 304.0  304.5 335.0
4 Afghanistan   plant    1  119.5           303.5   112.5      134.5      NA 119.0  197.5  89.5
5     Albania   plant    1  100.5           319.0    80.5      121.0      NA 116.5   75.5  76.0
6     Algeria   plant    1   46.0           303.5    57.0      121.0      NA  45.5   75.5  76.0

在这个结果中,"admin"列表示国家名称,"sets"列表示种植指标("harvest"表示收获,"plant"表示种植),"name"列表示对应的数字(1表示最小值,2表示最大值),后面的列表示聚合结果。

admin name iso_a3 sets Barley BarleyWinter Cassava Cotton Groundnuts Maize2 Maize Millet Oats1 Afghanistan Afghanistan AFG harvest 2105 950 2880 3120 2775 NA 2930

原文地址: http://www.cveoy.top/t/topic/jcxN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录