我想知道唯一值的数量,2,3或更多值的数量
x
name var
1 a abc1
2 b abc1
3 c abc2
4 d abc2
5 e abc2
6 f accd1
7 g baac1
y <- data.frame(table(x$var))
y
Var1 Freq
1 abc1 2
2 abc2 3
3 accd1 1
4 baac1 1
如果使用table()
,我可以看到其中有多少Var1
。
但是,我想知道的是......有多少独特的价值。 (和2,3或更多)
unique value : 2 #(accd1, baac1)
2 value : 1 #(abc1)
3 or more : 1 #(abc2)
答案 0 :(得分:0)
使用tidyverse
函数,您可以尝试类似
df %>%
group_by(var) %>%
mutate( cnt = n()) %>%
ungroup() %>%
group_by(cnt) %>%
mutate(freq = n()) %>%
select(cnt, freq) %>%
unique()
答案 1 :(得分:0)
你可以这样做:
freq <- data.frame(table(x$var))$Freq
table(ifelse(freq >= 3, "3 and more", freq))
> table(ifelse(freq >= 3, "3 and more", freq))
1 2 3 and more
2 1 1
或使用dplyr
库:
#install.packages("dplyr")
library(dplyr)
x %>%
count(var) %>%
mutate(values = ifelse(n >= 3, "3 and more", n)) %>%
count(values)
# A tibble: 3 x 2
values nn
<chr> <int>
1 1 2
2 2 1
3 3 and more 1