我想運行函數,將採取一個參數,這是數字列表,並計數重複。計數重複值的數量
實施例:
number <- c(1, 1, 1, 2, 2, 4, 5)
在這種情況下,輸出將是2,因爲只有1和2具有重複。
我知道如何使用for循環,但不知道如何計數重複。
count = 0
for (x in number){
...
}
我想運行函數,將採取一個參數,這是數字列表,並計數重複。計數重複值的數量
實施例:
number <- c(1, 1, 1, 2, 2, 4, 5)
在這種情況下,輸出將是2,因爲只有1和2具有重複。
我知道如何使用for循環,但不知道如何計數重複。
count = 0
for (x in number){
...
}
將這些值製成表格,然後計算其中有多少個值大於1。
x <- c(1, 1, 1, 2, 2, 4, 5)
sum(tabulate(x) > 1)
# [1] 2
或者,如果你正在尋找重複的直管段,rle
可以作爲替代列表。
with(rle(x), sum(lengths > 1))
# [1] 2
該解決方案寫在Python。
import collections
number = [1,1,1,2,2,4,5]
x = collections.Counter(number)
len([i for i in x if x[i]>1])
它將數字出現在列表中多次,然後計算該列表中有多少個元素。
問題標記爲R,而不是Python。 –
或'sum(table(x)> 1)' –