在R中, 我有兩列資料, 如何統計兩列的變數組合的頻數?並且找出頻數最大前五個組合?

時間 2021-07-09 16:14:04

1樓:unstory

思路:將a,b的所有組合讀入乙個矩陣,再把矩陣轉化為向量,最後數出每一種組合的個數

library(plyr)

a=c('street1','street2','street2','street3')

b=c('street1','street2','street2')

n=matrix(rep(NA,12),ncol=3)

repeats=c('street2-street1','street3-street1','street3-street2')

#『street1-street2'和』street2- street1『的組合是一樣的,為了避免重複,

#下面用if把』street2-street1'轉化為『street1-street2'

for(i in 1:4){

for(j in 1:3if(paste(a[i],b[j],sep='-') %in% repeatsn[i,j]=paste(b[j],a[i],sep='-'elsen[i,j]=paste(a[i],b[j],sep='-'n=as.vector(n)

result=count(n)

result[order(result[,2],decreasing=T),]#排序後的結果:

x freq

#2 street1-street2 4

#4 street2-street2 4

#5 street2-street3 2

#1 street1-street1 1

#3 street1-street3 1

EXCEL 如何利用陣列公式,將下圖兩列資料相關聯?

營魄抱一 之所以不能find簡單寫個公式解決,是因為find適用於單一字串查詢,可通過VBA處理,而且以後你也可以用,有興趣私聊。 第21支香菸 這個就是經常用的從詳細位址裡提取市縣區例子。可以用FIND SEARCHE COUNTIF函式來判斷是否有關鍵字,再組合其它函式成陣列函式來完成,如圖 周...

Excel中如何將一列1000行的資料變為每20行空一行

Office張 1000行,每20行貼上到乙個表中,你指的表是乙個新錶嗎?也就是要生成50個新的Sheet嗎?如果是這樣,可以通過乙個巨集程式來完成!簡單寫了個巨集,感興趣,可以自己嘗試修改。Sub group Dim h As Long,i As Long,maxrow As Long,j As ...

在Android中兩個程序之間傳輸大資料,可以使用什麼方式實現 這些方式中哪種方式最高效 請說明原因。

揹包客 很多啊例如廣播 service messenger aidl方式 大資料傳輸的時候到最後都得用bundle物件最後就是資料庫 content provider 推薦使用contentprovider 支援大的資料傳輸 Angry Panda Android開發藝術探索 第二章有很詳細的講解,...