Combinando 2 colonne in 1 colonna molte volte in un grande insieme di dati in RCombinando 2 colonne in 1 colonna molte volte in un grande insieme di dati in R
Le soluzioni maldestri sto lavorando non stanno per essere molto veloce se riesco a farli funzionare e il set di dati vero è ~ 1500 X 45000 quindi devono essere veloci. Sono decisamente in perdita per 1) a questo punto, anche se ho qualche codice per 2) e 3).
Ecco un esempio giocattolo della struttura dati:
pop = data.frame(status = rbinom(n, 1, .42), sex = rbinom(n, 1, .5),
age = round(rnorm(n, mean=40, 10)), disType = rbinom(n, 1, .2),
rs123=c(1,3,1,3,3,1,1,1,3,1), rs123.1=rep(1, n), rs157=c(2,4,2,2,2,4,4,4,2,2),
rs157.1=c(4,4,4,2,4,4,4,4,2,2), rs132=c(4,4,4,4,4,4,4,4,2,2),
rs132.1=c(4,4,4,4,4,4,4,4,4,4))
Quindi, ci sono un paio di colonne di informazioni demografiche di base e poi il resto delle colonne sono biallelica informazioni SNP. Esempio: rs123 è l'allele 1 di rs123 e rs123.1 è il secondo allele di rs123.
1) Ho bisogno di unire tutti i dati biallelica SNP che è attualmente in 2 colonne in 1 colonna, così, ad esempio: rs123 e rs123.1 in una colonna (ma entro il set di dati):
11
31
11
31
31
11
11
11
31
11
2) Devo identificare il valore SNP meno frequente (nell'esempio sopra riportato è 31).
3) Ho bisogno di sostituire il valore minimo SNP frequenti con 1 e l'altro (s) con 0.
pasta! Ovviamente! Volevo dire concatenare. Grazie mille per l'aiuto. Ora sto lavorando per farlo funzionare su 45.000 colonne. Grazie ancora! –
Puoi lavorare con 'grep()' e 'match()' per ottenere gli indici delle colonne. Inoltre, sentiti libero di votare e/o accettare questa risposta se ti colpisce come quella giusta :-) –
accettato! :) Non ho abbastanza punti reputazione apparentemente da upvotare ancora ...! –