我有一个大型数据集加载到R中,其中包含一列中的多个副本(colA),另一列中具有不同的唯一值(colB)。我需要找出一种方法来删除colB中与colA中相同值对应的最低值。根据R(大数据集)中另一列中的重复值删除一列中的较低值
例如,
A 1
A 2
A 3
B 8
B 9
B 10
应该成为
A 3
B 10
如果这东西像Python,这将是一个简单的命令代码,但我是新来的R和非常感谢帮助。
我有一个大型数据集加载到R中,其中包含一列中的多个副本(colA),另一列中具有不同的唯一值(colB)。我需要找出一种方法来删除colB中与colA中相同值对应的最低值。根据R(大数据集)中另一列中的重复值删除一列中的较低值
例如,
A 1
A 2
A 3
B 8
B 9
B 10
应该成为
A 3
B 10
如果这东西像Python,这将是一个简单的命令代码,但我是新来的R和非常感谢帮助。
您可以aggregate
aggregate(df$B, list(df$A), max)
Group.1 x
1 A 3
2 B 10
这里做到这一点是一个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
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
对于命名向量:'tapply(d $ V2,d $ V1,FUN =最大值) '。 – lmo