Sono un novellino appassionato di R che ha bisogno di aiuto! :)Contare il numero di istanze in cui una variabile o una combinazione di variabili sono TRUE
Ho un frame di dati che assomiglia a questo:
id<-c(100,200,300,400)
a<-c(1,1,0,1)
b<-c(1,0,1,0)
c<-c(0,0,1,1)
y=data.frame(id=id,a=a,b=b,c=c)
Dove id è un identificatore univoco (ad esempio, una persona) e un, b e c sono manichino variabili per se la persona ha questa caratteristica o no (come sempre 1 = VERO).
Desidero che R crei una matrice o un frame di dati in cui sono presenti le variabili a, bec come il nome delle colonne e delle righe. Per i valori della matrice R dovrà calcolare il numero di identificatori che hanno questa caratteristica, o la combinazione di caratteristiche.
Quindi, ad esempio, gli ID 100, 200 e 400 hanno un simbolo nella diagonale della matrice dove a e una croce, R immetteranno 3. Solo l'ID 100 ha entrambe le caratteristiche a e b, quindi R inserirà 1 dove a e b attraversano, e così via.
Il frame dati risultanti dovrà assomigliare a questo:
l<-c("","a","b","c")
m<-c("a",3,1,1)
n<-c("b",1,2,1)
o<-c("c",1,1,2)
result<-matrix(c(l,m,n,o),nrow=4,ncol=4)
Come il mio insieme di dati ha 10 variabili e centinaia di osservazioni, avrò di automatizzare l'intero processo.
Il vostro aiuto sarà molto apprezzato. Grazie mille!
+1 Mi piace soluzioni semplici ed eleganti come questo –
Grazie molto Josh! –
@NikolayNenov - Nessun problema. Apprezzo sempre una domanda ben formulata con un esempio riproducibile! Se le nostre risposte corrispondono al disegno di legge, puoi "accettare" uno di essi (entrambi sembrano accettabili per me) facendo clic sul segno di spunta alla sua sinistra. –