早上好。我想用满足一定条件的元素数量来子集一个数据框。例如:
COLOR X Y
RED 0 1
RED 0 1
WHITE 3 1
我想拥有另一个具有相同X值和相同Y值的元素数量的数据框,但是我不知道如何构建它。
COLOR X Y AMOUNT
RED 0 1 2
WHITE 3 1 1
非常感谢!
data.frame(df[!duplicated(df),],AMOUNT=as.vector(table(df$COLOR)))
给予,
COLOR X Y AMOUNT
1 RED 0 1 2
3 WHITE 3 1 1
数据:
df <- read.table(text="COLOR X Y
RED 0 1
RED 0 1
WHITE 3 1",header=T,stringsAsFactors=FALSE)
df %>%
group_by(X, Y) %>%
mutate(AMOUNT = n()) %>%
distinct(X, Y, .keep_all = T)
# A tibble: 2 x 4
# Groups: X, Y [2]
COLOR X Y AMOUNT
<chr> <int> <int> <int>
1 RED 0 1 2
2 WHITE 3 1 1