Ich versuche Korrelation cor.test Funktion zu tun, wie folgt:cor.test Funktion zum Iterieren x und y-Vektoren unter Verwendung gilt
Für jede Zeichenfolge von dem Objekt Mr, wähle ich ein Objekt (MR1) und Suche nach entsprechenden Zielen für dieses MR1 aus dem Expression-Dataset und erstelle ein neues Objekt, mr.tgt.
Nun wird für jede Zeichenkette in mr.tgt cor.test zwischen zwei numerischen Vektoren durchgeführt, 1. übereinstimmende Genexpressionswerte zu mr.tgt [i] und 2. übereinstimmende mira-Expressionswerte zu mr1 (oder Herr [i]).
Schließlich wird Tabelle für relevante Werte geschrieben.
mr <- c("1p","2p","3p",...)
mr.tgt.pval.function <- function(mr){
file.out <- file.choose(new = TRUE)
for(i in 1:length(mr)){
mr1 <- as.character(mr[i])
mr.tgt <- c("a","b","c",..) # mr.tgt %in% mr = 0 & mr.tgt changes with each of mr1[i]
for(i in 1:length(mr.tgt)){
cor.result.pval <- cor.test(as.numeric(expr[which(rownames(expr) == mr.tgt[i]),]),
as.numeric(mir[which(rownames(mir) == mr1),]),
method="spearman", alternative="less", exact=NULL, continuity=T)
write.table(cbind(mr1,mr.tgt[i],cor.result.pval$p.value,cor.result.pval$estimate[[1]]),file = file.out, sep="\t", na='', append=T,col.names=FALSE)
}
}
}
I anwenden Funktion für cor.test zu verwenden versuchen aber Schwierigkeiten für jeden mr.tgt [i] in jedem von mr [i] Iterieren mit.
Ich wollte sehen, ob ich Anwendung anwenden kann, um die langsame Datenverarbeitung mit for-Schleife zu überwinden.
Vielen schätzen hilfreiche Hinweise.
Danke!
Sowohl die äußere als auch die innere Schleife verwenden 'i'. Nicht großartig, aber es kann tatsächlich immer noch wie erwartet funktionieren. – Tommy
Es scheint, dass Sie 'expr' und' mir' verwenden - was sind diese, und warum sind sie nicht Argumente für die Funktion? – Tommy
Danke Tommy für den Code. 'expr' und' mir' sind data.frames, aus denen übereinstimmende Ausdruckswerte zu 'mr.tgt' (mirna-Gen-Ziel) bzw.' mr1' (mira) extrahiert werden. Ich sollte zu "i" und "j" wechseln, anstatt "i" für beide Schleifen zu behalten. – Samir