我正在查看一些 bolt 数据。如果我有例如

 diameter     thread
 1            4
 1            6
 1            4
 2            5
 2            7
 3            9

我想要一种方法来创建新的列,以告诉我它是每个直径的最大还是最小的线程。每个直径的线程尺寸永远不会超过2个,但是偶尔只有1个,在这种情况下,我希望它变大。例如:
diameter     thread    size
  1            4       small
  1            6       large
  1            4       small
  2            5       small
  2            7       large
  3            9       large

最佳答案

使用dplyr非常简单

library(dplyr)
data <- data.frame(diameter=c(1,1,2,2,3),thread=c(4,6,5,7,9))
data %>% group_by(diameter) %>% mutate(size=ifelse(thread==max(thread),"large","small"))

   diameter thread  size
      (dbl)  (dbl) (chr)
1        1      4 small
2        1      6 large
3        2      5 small
4        2      7 large
5        3      9 large

关于r - 对于每个值,确定另一列是否包含更大或更小的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37862828/

10-12 23:25