Ho un frame di dati, che sembra qualcosa di simile:Creare una matrice frequenza bimodale in R
CASENO Var1 Var2 Resp1 Resp2
1 1 0 1 1
2 0 0 0 0
3 1 1 1 1
4 1 1 0 1
5 1 0 1 0
Ci sono oltre 400 variabili dell'insieme di dati. Questo è solo un esempio. Devo creare una matrice di frequenza semplice in R (esclusi i numeri del caso), ma la funzione table
non funziona. In particolare, sto cercando di cross-tabulare una porzione delle colonne per creare una matrice di frequenze a due modalità. La tabella dovrebbe essere così:
Var1 Var2
Resp1 3 1
Resp2 3 2
Nel Stata, il comando è:
gen var = 1 if Var1==1
replace var= 2 if Var2==1
gen resp = 1 if Resp1==1
replace resp = 2 if Resp2==1
tab var resp
Una ulteriore semplificazione sarebbe 'm <- as.matrix (d) dal momento che i' greps non potrà mai corrispondere alla prima colonna in ogni modo. –
Grazie! Questo è così utile. Come faccio a fare riferimento ai numeri delle colonne, piuttosto che ai nomi delle colonne, usando il comando crossprod? – jj987246
@ jj987246, è sufficiente utilizzare i vettori contenenti i numeri di colonna, ad es. 'Crossprod (m [, 1: 4], m [, 5: 8])' –