Я новичок в R и пытаюсь самоучиться на ошибках :). Я пытаюсь написать небольшой скрипт для ответа на конкретный c вопрос, т.е.
У меня есть таблица подсчета генов с двумя столбцами на копию; File1B, File1 C, File2B, File2 C ... et c с n числом повторов. Я хочу узнать наблюдение случайного присутствия данного гена в одном столбце (условие) в данном реплицировать, а затем все копии. У меня есть следующий код:
if (!require("tidyverse")){
install.packages("forcats")
install.packages("tidyverse", dependencies = TRUE)
}
library(tidyverse)
library(magrittr)
library(DT)
folder <- "~/path/to/Dir/"
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir = folder)
Предполагается, что у меня есть таблица подсчета генов, содержащая 10 повторений File3B File3 C ... et c " data <- read_tsv("GeneCountTable.txt")
# set.seed(123)
# data <- matrix(rnorm(n=10000) * 100, nrow=1000) %>%
# as_data_frame() %>%
# set_colnames(paste0("File", paste0(rep(1:10, each=2), rep(c("B", "C"), n=10)))) %>%
# round(.) %>%
# mutate(Gene = paste0("Gene", 1:nrow(.))) %>%
# select(Gene, everything())
# data[data < 0] <- 0
# datatable(data)
1. Какие-либо гены в файле № 1B НЕ присутствуют в файле № 1 C: Добавить список генов в файл № B_M
FileB_M <- data %>% filter(File1B > 0, File1C == 0)
datatable(FileB_M)
2. Есть ли какие-нибудь гены в файле # 1 C, НЕ присутствующие в файле # 1B: Добавьте список генов в файл # C -Mono
FileC_M <- data %>% filter(File1C > 0, File1B == 0)
datatable(FileC_M)
3. Гены в файле # 1B присутствуют только в «File-n C», но не в «File-nB», по крайней мере, в одной копии? если да: перечислите имена генов в FileXB
FileXB <- FileB_M %>% filter(
(File2B == 0 & File2C > 0) | (File3B == 0 & File3C > 0) | (File4B == 0 & File4C > 0) | (File5B == 0 & File5C > 0) | (File6B == 0 & File6C > 0) | (File7B == 0 & File7C > 0) | (File8B == 0 & File8C > 0) | (File9B == 0 & File9C > 0) | (File10B == 0 & File10C > 0))
datatable(FileXB)
4. Гены в файле № 1 C присутствуют только в «File-nB», но не в «File-n C» хотя бы в одном экземпляре? Если да: перечислите имена генов в FileX C
FileXC <- FileC_M %>% filter(
(File2B > 0 & File2C == 0) | (File3B > 0 & File3C == 0) | (File4B > 0 & File4C == 0) | (File5B > 0 & File5C == 0) | (File6B > 0 & File6C == 0) | (File7B > 0 & File7C == 0) | (File8B > 0 & File8C == 0) | (File9B > 0 & File9C == 0) | (File10B > 0 & File10C == 0))
datatable(FileXC)
Я ожидаю, что оба значения для каждого повторения равны 0 для обоих столбцов или значение только для одного столбца, но кажется, что это не так.
У вас может быть простое решение / объяснение для этого, и это будет высоко ценится.
Спасибо
введите описание изображения здесь