我有一個大型數據集加載到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