我需要一行代碼來搜索數字向量並返回出現次數。例計算重複次數的次數R代碼
a=c(15,32,27, 63, 15,99, 32,32)
dup=unique(a[duplicated(V.Ints)])
len=length(unique(duplicated(dup)))
我得到:
> dup
#[1] 15, 32
> len
#[1] 2
,但我需要的是:
> dup
#[1] 15, 32
> len
#[1] 5
謝謝!
我需要一行代碼來搜索數字向量並返回出現次數。例計算重複次數的次數R代碼
a=c(15,32,27, 63, 15,99, 32,32)
dup=unique(a[duplicated(V.Ints)])
len=length(unique(duplicated(dup)))
我得到:
> dup
#[1] 15, 32
> len
#[1] 2
,但我需要的是:
> dup
#[1] 15, 32
> len
#[1] 5
謝謝!
您可以
table(a)
# a
# 15 27 32 63 99
# 2 1 3 1 1
計數頻率可以過濾只查找重複的
Filter(function(x) x>1, table(a))
# a
# 15 32
# 2 3
names(Filter(function(x) x>1, table(a)))
# [1] "15" "32"
,你可以採取的總和查找重複的總長度
sum(Filter(function(x) x>1, table(a)))
# [1] 5
Arun在評論中的建議是要走的路:
> sum(a %in% c(15,32))
#[1] 5
更多的一般用法:
sum(a %in% unique(a[duplicated(a)]))
或者一個班輪在弗裏克先生的做法的精神:
sum(a %in% names(which(table(a) > 1)))
另一個變化是抓住所有重複的值,則使用length()
對於len
和unique()
對於dup
x <- a[duplicated(a) | duplicated(a, fromLast=TRUE)]
length(x)
# [1] 5
unique(x)
# [1] 15 32