查找一列的最大值(按组),然后将值插入R中的另一数据帧

史蒂夫

全部,

我希望有人能找到解决我的问题的解决方案,但不一定会引起头痛,但截至目前,在为我正在处理的项目创建数据集时,可能会出现人为错误。

我现在使用的数据集是1950年至2010年之间每年针对特定国家/地区对的有向双年(A vs. B,B vs. A)数据集。某些国家/地区,例如我的A,将与世界上每个国家配对,并且每个国家都将与之配对。有些国家,例如我的示例中的B和C,将仅与少数几个国家配对。一些对将缺少数据,在我的示例中没有显示。

我想做的是使用R查找给定国家/地区在给定年份中给定列的最大值,并将该值插入另一个数据框中。希望此插图可以阐明我想做的事情。

country1 country2 year    x1   x2   x3   x4
   A        B     2000    50   30   1    20
   A        C     2000    70    2   5    90
   A        D     2000    10   90   20   30
   A        E     2000    95   10   10   5
   A        F     2000    10   10   10   0
   A        G     2000    5     5   0    0
   A        H     2000    10   30   25   40

  ........................................

  B        A      1998    5    10   30   2
  B        D      1998    30   6    9    0
  B        I      1998    10   9    7    0

  ........................................

  C        A      2005    10   15   2    6
  C        D      2005    90   0    0    40
  C        X      2005    49   90   5    0

举例来说,我对2000年的国家A感兴趣。我想知道它x1在2000年的最大值(与国家E配对时为95)。我也想知道什么是它的最大价值x2x3以及x4在该年度(分别是90,25,90与国家d,H国和C国)的任何配对。

1998年的B国和2005年的C国也是如此。

在给定年份隔离给定国家/地区的这些列的最大值之后,我想将这些值转储到数据框中,如下所示。

country   year    x1max    x2max    x3max    x4max
  A       2000      95       90       25       90
  B       1998      30       10       30        2
  C       2005      90       90        5       40

我在这方面很灵活。将每个国家/地区的最大值最大值转储到其自己的1x5尺寸数据框中,然后用于rbind将它们堆叠在一起,这可能是最简单的

有人对如何进行有任何建议吗?这免除了我必须手动执行的麻烦,这比任何其他事情都更容易引起人为错误。

但是,由于我的问题确实取决于为特定国家/地区隔离特定年份(例如,国家A的2000年而不是2001年),因此出现了可重复的代码,我不确定可重复的代码是否一定会有所帮助。我希望至少我的问题是明确的。

country1 <- c("A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "C", "C", "C")
country2 <- c("B","C","D","E","F","G","H","A","D","I","A","D","X")
year <- c(2000, 2000, 2000, 2000, 2000, 2000, 2000, 1998, 1998, 1998, 2005, 2005, 2005)
x1 <- c(50, 70, 10, 95, 10, 5, 10, 5, 30, 10, 10, 90, 49)
x2 <- c(30, 2, 90, 10, 10, 5, 30, 10, 6, 9, 15, 0, 90)
x3 <- c(1, 5, 20, 10, 10, 0, 25, 30, 9, 7, 2, 0, 5)
x4 <- c(20, 90, 30, 5, 0,0,40,2,0,0,6,40,0)

Data=data.frame(country1=country1,country2=country2,year=year,x1=x1,x2=x2,x3=x3,x4=x4)
Data
A5C1D2H2I1M1N2O1R2T1

听起来您只是在寻找aggregate

> aggregate(cbind(x1, x2, x3, x4) ~ country1 + year, Data, max)
  country1 year x1 x2 x3 x4
1        B 1998 30 10 30  2
2        A 2000 95 90 25 90
3        C 2005 90 90  5 40

从您的问题中并不清楚,但是您想如何从那里开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于向量隔离数据帧中的值,然后使用R将其乘以同一数据帧中的另一列?

来自分类Dev

在列表列中查找小于或等于R中另一列的最大值

来自分类Dev

r中数据帧不同行的每一列的最大值

来自分类Dev

如何将一个数据帧中某些列的值与另一数据帧中同一列集的值进行比较?

来自分类Dev

R数据帧-使用一列中的公共值查找另一列中的值

来自分类Dev

如何用一列的最大值与另一列的最小值之间的差异将一列中的df按Python分组?

来自分类Dev

将字符串替换为根据数据帧中另一列的最大值计算出的值

来自分类Dev

Excel:在与另一列匹配的那些值中查找一列的最小值/最大值

来自分类Dev

将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

来自分类Dev

从一列中找到最大值,然后根据该最大值填充另一列

来自分类Dev

如何从同一数据框中查找另一列中包含唯一值的列值?

来自分类Dev

查找特定列的最大值,但在 Pandas 中返回另一列

来自分类Dev

提取R数据框中另一列中具有最大值的唯一行

来自分类Dev

根据R中的另一数据框替换一列中的值

来自分类Dev

Python:Pandas:如何根据Groupby在另一列中查找最大值

来自分类Dev

在另一列中读取最大值的同时查找一列中的时间点

来自分类Dev

在pyspark数据框中添加具有另一列最大值的新列

来自分类Dev

从另一列的最大值中检索一列的最小值

来自分类Dev

R:一种有效的方式来对一列中的值进行排序/选择,这些值对应于同一数据帧中另一列中的特定值

来自分类Dev

从一列中查找最小值和最大值,并从另一列中查找对应的值

来自分类Dev

如何根据pandas中的组最大值将一列的标签分配给新的一列

来自分类Dev

使用Dplyr查找组的最大值并将其更改为同一表中另一列的结果

来自分类Dev

如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

来自分类Dev

根据另一列确定一列中的最大值

来自分类Dev

通过另一列熊猫找到列组的最大值

来自分类Dev

查找粗体文本标题,然后将值放在另一列中

来自分类Dev

Python Pandas:将一列的值检查为另一数据框的列

来自分类Dev

一列的最大值基于另一列的每个唯一值(数据框)

来自分类Dev

R使用dplyr根据一列中的最大值对数据框进行变异

Related 相关文章

  1. 1

    如何基于向量隔离数据帧中的值,然后使用R将其乘以同一数据帧中的另一列?

  2. 2

    在列表列中查找小于或等于R中另一列的最大值

  3. 3

    r中数据帧不同行的每一列的最大值

  4. 4

    如何将一个数据帧中某些列的值与另一数据帧中同一列集的值进行比较?

  5. 5

    R数据帧-使用一列中的公共值查找另一列中的值

  6. 6

    如何用一列的最大值与另一列的最小值之间的差异将一列中的df按Python分组?

  7. 7

    将字符串替换为根据数据帧中另一列的最大值计算出的值

  8. 8

    Excel:在与另一列匹配的那些值中查找一列的最小值/最大值

  9. 9

    将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

  10. 10

    从一列中找到最大值,然后根据该最大值填充另一列

  11. 11

    如何从同一数据框中查找另一列中包含唯一值的列值?

  12. 12

    查找特定列的最大值,但在 Pandas 中返回另一列

  13. 13

    提取R数据框中另一列中具有最大值的唯一行

  14. 14

    根据R中的另一数据框替换一列中的值

  15. 15

    Python:Pandas:如何根据Groupby在另一列中查找最大值

  16. 16

    在另一列中读取最大值的同时查找一列中的时间点

  17. 17

    在pyspark数据框中添加具有另一列最大值的新列

  18. 18

    从另一列的最大值中检索一列的最小值

  19. 19

    R:一种有效的方式来对一列中的值进行排序/选择,这些值对应于同一数据帧中另一列中的特定值

  20. 20

    从一列中查找最小值和最大值,并从另一列中查找对应的值

  21. 21

    如何根据pandas中的组最大值将一列的标签分配给新的一列

  22. 22

    使用Dplyr查找组的最大值并将其更改为同一表中另一列的结果

  23. 23

    如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

  24. 24

    根据另一列确定一列中的最大值

  25. 25

    通过另一列熊猫找到列组的最大值

  26. 26

    查找粗体文本标题,然后将值放在另一列中

  27. 27

    Python Pandas:将一列的值检查为另一数据框的列

  28. 28

    一列的最大值基于另一列的每个唯一值(数据框)

  29. 29

    R使用dplyr根据一列中的最大值对数据框进行变异

热门标签

归档