我有一个加载到R中的大型数据集,其中包含一列(colA)中的多个重复项以及另一个具有不同唯一值(colB)的列。我需要找出一种方法来删除colB中与colA中相同值相对应的最低值。
例如,
A 1
A 2
A 3
B 8
B 9
B 10
应该成为
A 3
B 10
如果这是类似Python的东西,那么编写代码很容易,但我是R的新手,非常感谢帮助。
答案 0 :(得分:2)
这是一个dplyr解决方案
d <- read.table(textConnection("A 1
A 2
A 3
B 8
B 9
B 10"))
library(dplyr)
d %>%
group_by(V1) %>%
summarize(max = max(V2))
# A tibble: 2 × 2
V1 max
<fctr> <int>
1 A 3
2 B 10
答案 1 :(得分:1)
您可以使用aggregate
aggregate(df$B, list(df$A), max)
Group.1 x
1 A 3
2 B 10
答案 2 :(得分:0)
library(plyr)
data<-data.frame("x"=c(rep("A",3),rep("B",3)),"y"=c(1:3,8:10))
ddply(data,~x,summarise,max=max(y))
x max
1 A 3
2 B 10