除某些列外的行最小值

标签 r

我在下面有一个数据框。我需要找到行的最小值和最大值,但少数列是字符。

 df
  x y z
1 1 1 a
2 2 5 b
3 7 4 c 

我需要

  df
  x y z  Min  Max
1 1 1 a   1    1
2 2 5 b   2    5   
3 7 4 c   4    7

最佳答案

另一种 dplyr 可能是:

df %>%
 mutate(Max = do.call(pmax, select_if(., is.numeric)),
        Min = do.call(pmin, select_if(., is.numeric)))

  x y z Max Min
1 1 1 a   1   1
2 2 5 b   5   2
3 7 4 c   7   4

或者提议的变体是@G。格洛腾迪克:

df %>% 
 mutate(Min = pmin(!!!select_if(., is.numeric)), 
        Max = pmax(!!!select_if(., is.numeric)))

关于除某些列外的行最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57844278/

相关文章:

r - 使用 for 和 if 根据数据框中的其他列添加列值

r - 如何在传单中的两个标记之间添加路线(折线)

R:为什么我的 ggplot geom_point() 符号不可见?

r - Shiny 中的条件主面板

r - 在 Windows 中使用向上/向下箭头(如 MATLAB)运行 R 时,如何进行历史记录补全/过滤?

r - 在 R 中使用 NA 作为子集

r - 在 R 中划分两个数据帧(一分为二)

r - 检测日期列格式的中断/更改

r - gsub : Removing a special character at the end of a string in R

r - 有效查找数据表的第一个非零元素(对应列)