我想比較兩個列表(兩行數據幀)並計算兩個列表之間有多少差異。R:列表2中列表1的元素數量/出現次數
例如:
列表1list1=a,b,c,a
list2=a,a,d,d
兩個元素都在列表2
我能夠做到這一點與一個循環,並總和,但它是非常低效的。在R中有這樣的功能嗎?
我檢查了setdiff和比較軟件包,但沒有找到任何有用的東西。
感謝您的想法,
文森特
我的功能看起來像:
NRebalancing=function(NamePresent)
{
Nbexchange=NamePresent[,2]
Nbexchange=NamePresent[1,2]=0
for (i in 2:nrow(NamePresent))
{
print(i)
compteur=0
NameNeeded=NamePresent[i,]
NameNeeded=unique(NameNeeded)
NameNeeded=na.omit(NameNeeded)
for(j in 2:length(NameNeeded))
#j=1 correspond a une date
{
compteur = compteur+(abs(sum(NamePresent[i,]==as.character(NameNeeded[j]))-sum(NamePresent[i-1,]==as.character(NameNeeded[j]))))
}
Nbexchange[i]=compteur
}
return(Nbexchange)
}
對不起,關於名稱。它是一個來自數據框的向量,因此變量類型可能不同...我將編輯問題 – VincentH 2012-07-16 09:23:43
記住向量可以有不同的類型:它們可以是字符,數字或邏輯 – csgillespie 2012-07-16 09:24:57
非常感謝!那是我正在尋找的。沒有時間來編輯我的問題:) – VincentH 2012-07-16 09:25:08