在数据框中找到一系列变量的最大值

里奥·乔伯特(Leo Joubert)

我有以下数据框:

      id cluster       username 2001 2002 2003 2004 2005 2006 2007  2008  2009  2010   2011
1 268672  Type 1          Vlaam    0    0    0    0    0    0 5896 18976 13552 20508 106939
2 351003  Type 2 WikiCleanerBot    0    0    0    0    0    0    0 17049  8468 22834   7470
   2012  2013  2014  2015  2016
1 83874 97447 59677 88661 41133
2 11219 83245 28015 40464 25053

我需要创建一个最后一个变量,告诉我2001、2002 ... 2016系列中的哪个变量对每一行包含该系列最大值我写这段代码:

cluster$yearMod <- apply(cluster,1,function(x) {
  years <- x[4:19]
  as.numeric(names(years)[match(max(years),years)])
})

但这给了我:

[1] 2015 2015

这绝对不是正确的值,分别是2011年和2013年。

你能帮助我吗 ?

阿克伦

如果是max元素,则可以使用max.col使用grepl('i1')创建数字列名称的逻辑索引,然后对基于数据集'i1'(df1[i1])的子集进行获取,以获取max每一行的索引,max.col并使用该索引获取对应的列名称。

i1 <- grepl("[0-9]+$", names(df1))
df1$newVar <- names(df1)[i1][max.col(df1[i1], "first")]
df1$newVar
#[1] "2011" "2013"

如果我们使用apply,则另一个选择是which.max

names(df1)[i1][apply(df1[i1], 1, which.max)]
#[1] "2011" "2013"

数据

df1 <- structure(list(id = c(268672L, 351003L), cluster = c("Type 1", 
"Type 2"), username = c("Vlaam", "WikiCleanerBot"), `2001` = c(0L, 
0L), `2002` = c(0L, 0L), `2003` = c(0L, 0L), `2004` = c(0L, 0L
), `2005` = c(0L, 0L), `2006` = c(0L, 0L), `2007` = c(5896L, 
0L), `2008` = c(18976L, 17049L), `2009` = c(13552L, 8468L), 
`2010` = c(20508L, 
22834L), `2011` = c(106939L, 7470L), `2012` = c(83874L, 11219L
), `2013` = c(97447L, 83245L), `2014` = c(59677L, 28015L), 
`2015` = c(88661L, 
40464L), `2016` = c(41133L, 25053L)), .Names = c("id", "cluster", 
 "username", "2001", "2002", "2003", "2004", "2005", "2006", "2007", 
 "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", 
 "2016"), row.names = c("1", "2"), class = "data.frame")

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据框中找到一系列变量的最大值

来自分类Dev

如何从一系列变量中找到最大值?

来自分类Dev

熊猫从一系列混合数据中找到最大值

来自分类Dev

在一系列值中找到局部最大值

来自分类Dev

熊猫:在数据框中找到每个系列的最大值

来自分类Dev

如何将在数据库中找到的值添加到一系列下拉按钮?

来自分类Dev

通过列表递增并找到一系列切片的最大值

来自分类Dev

从一系列图像中找到最大x,y值

来自分类Dev

如何在数据框中的变量中找到一组中最大值和最小值的差异

来自分类Dev

如何在存储在数据框中的多个列表中找到最大值?

来自分类Dev

在数据框的给定列中找到最大值的行索引

来自分类Dev

从一系列单元格中找到最大的二进制数

来自分类Dev

在结合多行的python数据框中找到最大值

来自分类Dev

返回表示每个组中最大值的索引的一系列数字位置

来自分类Dev

如何对一系列单元格的最大值执行条件格式设置?

来自分类Dev

R如何在向量中找到一系列共同值(确定生长季节)

来自分类Dev

在数据框(R)中标记一系列行元素

来自分类Dev

找到一系列数值中的最大间隙

来自分类Dev

在C prgram中查找一系列数字的最大值和最小值(我的代码错误)

来自分类Dev

生成值的数据框,该值在一系列范围内

来自分类Dev

最大化一系列值的组合

来自分类Dev

从数据框中创建一系列饼图,颜色链接到索引的值

来自分类Dev

如何在数据存储区中找到最大值?

来自分类Dev

来自一系列数据框的Pandas multiindex

来自分类Dev

Dask串联一系列数据框

来自分类Dev

pd.melt()字典/一系列数据框

来自分类Dev

如何在数组中找到最大值

来自分类Dev

将多个类别值分配给r中的一系列数据帧变量

来自分类Dev

在数组中找到最大值,并从索引的任一侧增加值

Related 相关文章

  1. 1

    在数据框中找到一系列变量的最大值

  2. 2

    如何从一系列变量中找到最大值?

  3. 3

    熊猫从一系列混合数据中找到最大值

  4. 4

    在一系列值中找到局部最大值

  5. 5

    熊猫:在数据框中找到每个系列的最大值

  6. 6

    如何将在数据库中找到的值添加到一系列下拉按钮?

  7. 7

    通过列表递增并找到一系列切片的最大值

  8. 8

    从一系列图像中找到最大x,y值

  9. 9

    如何在数据框中的变量中找到一组中最大值和最小值的差异

  10. 10

    如何在存储在数据框中的多个列表中找到最大值?

  11. 11

    在数据框的给定列中找到最大值的行索引

  12. 12

    从一系列单元格中找到最大的二进制数

  13. 13

    在结合多行的python数据框中找到最大值

  14. 14

    返回表示每个组中最大值的索引的一系列数字位置

  15. 15

    如何对一系列单元格的最大值执行条件格式设置?

  16. 16

    R如何在向量中找到一系列共同值(确定生长季节)

  17. 17

    在数据框(R)中标记一系列行元素

  18. 18

    找到一系列数值中的最大间隙

  19. 19

    在C prgram中查找一系列数字的最大值和最小值(我的代码错误)

  20. 20

    生成值的数据框,该值在一系列范围内

  21. 21

    最大化一系列值的组合

  22. 22

    从数据框中创建一系列饼图,颜色链接到索引的值

  23. 23

    如何在数据存储区中找到最大值?

  24. 24

    来自一系列数据框的Pandas multiindex

  25. 25

    Dask串联一系列数据框

  26. 26

    pd.melt()字典/一系列数据框

  27. 27

    如何在数组中找到最大值

  28. 28

    将多个类别值分配给r中的一系列数据帧变量

  29. 29

    在数组中找到最大值,并从索引的任一侧增加值

热门标签

归档