Я новичок в программировании на R, и сейчас я хочу проанализировать огромный набор данных генов.Я пытаюсь изменить вложенную петлю, которая в настоящее время работает, чтобы увидеть, какие гены активируются с учетом измененных скорректированных значений P и значений LogFC, чтобы увидеть то же самое, но для генов с пониженной регуляцией.То, что я сгенерировал для генов с повышенной регуляцией, - это таблица 4х4, в которой показано, как меняется число генов, которые соответствуют предельным значениям, которые я выбрал для скорректированного значения P и LogFC. На рисунке показано кодирование, используемое для вложенного цикла То, что я получаю, когда пытаюсь выполнить это для генов с пониженной регуляцией, - это те же значения - я предполагаю, что R не регистрирует никаких изменений и возвращает то же самоеномера.Любой совет будет высоко ценится.
#--------------------------------------------------------------------------------
# Function to calculate number of up regulated genes
#--------------------------------------------------------------------------------
get.upregulated.genes <- function(dafra, p.value.max, log.fc.min) {
gene.count <- subset(dafra, adj.P.Val <= p.value.max & logFC >= log.fc.min) %>%
.[["Gene.symbol"]] %>% unique %>% length
return(gene.count)
}
get.upregulated.genes(dafra=df3, p.value.max=0.05, log.fc.min=1) # 429
p.values <- c(0.001, 0.005, 0.01, 0.05)
log.fcs <- rev(c(0.5, 1, 1.5, 2))
log.fcs
mx.up <- matrix(rep(NA, 16), ncol=4)
mx.up
colnames(mx.up) <- p.values
rownames(mx.up) <- log.fcs
for (x in p.values) {
for (y in log.fcs) {
z <- get.upregulated.genes(df3, x, y)
mx.up[as.character(y),as.character(x)] <- z
}
}
mx.up
View(mx.up)
for (x in p.values) {
for (y in log.fcs) {
z <- get.upregulated.genes(df3, x, y)
print(x)
print(y)
print(z)
print("------")
}
}