Как извлечь список SNP из сводных данных по p-значению в R?

У меня есть результаты сводки данных GWAS со следующей информацией, и я хочу извлечь список первых 120 SNP в соответствии с p-значением в R. Данные имеют следующие семь заголовков:

SNPName    n_samplesize    A1Allele    A2Allele    beta     SE      p_value

Код через dplyr:

    library(dplyr)
    dat <- read.csv(file.choose(MetaAnalysis_Results))
    dat2 <- dat %>% arrange("p_value")

Произошла ошибка при сортировке

Обновление: это сработало для меня после преобразования файла .csv в .txt.

    attach(MetaAnalysis_Results)
    mydata <- MetaAnalysis_Results
    new <- mydata[order(p_value),]

person Tabbi    schedule 28.03.2019    source источник
comment
Что-то вроде head(myData[ order(myData$p_value), "SNPName" ], n = 120)   -  person zx8754    schedule 28.03.2019
comment
@zx8754: zx8754: Кажется, это работает, но как мне это сделать, если я хочу список SNP в соответствии с p-значением от самого низкого до более высокого?   -  person Tabbi    schedule 28.03.2019
comment
Вы можете использовать хвост или использовать порядок с уменьшением = TRUE.   -  person zx8754    schedule 28.03.2019


Ответы (1)


самый простой способ сделать это — использовать dplyr. Установите его, если он не существовал

install.packages("dplyr")

    library(dplyr)
    dat <- read.csv(file.choose())

    #Make sure the data is imported
    head(dat)

    dat <- dat %>% arrange("p_values")
    dat2 <- dat[1:120,]
    write.csv(dat2)
person Omar113    schedule 28.03.2019
comment
Это файл .csv, загруженный непосредственно из Интернета, и я хочу извлечь список первых 120 SNP в отдельный файл вместе с другой информацией (семь переменных) в соответствии с наименьшим значением p-значения. - person Tabbi; 28.03.2019
comment
проверить обновление - person Omar113; 28.03.2019
comment
Мы должны заказать, а затем подмножество. - person zx8754; 28.03.2019
comment
Я думаю, что он хочет сначала выбрать первые 120, а затем подмножество! - person Omar113; 28.03.2019
comment
@ Omar113 Omar113 Я хочу, чтобы 120 отсортировались по убыванию p-значения по возрастанию - person Tabbi; 28.03.2019
comment
можешь прояснить. Вы хотите отсортировать первые 120 вхождений или хотите отсортировать весь набор данных, а затем подмножество наименьших 120? - person Omar113; 28.03.2019
comment
Извиняюсь! хотите отсортировать весь набор данных, а затем подмножить наименьшее 120. - person Tabbi; 28.03.2019
comment
В общей сложности данные содержат 2450547 SNP, и я попытался отсортировать, а затем подмножество и получить эту ошибку: Ошибка в аранжировке_impl(.data, dots): неправильный размер (1) в позиции 1, ожидание: 2450547 - person Tabbi; 28.03.2019
comment
Вы можете отредактировать сообщение и включить код, который вы пробовали? - person Omar113; 28.03.2019
comment
@ Omar113 Omar113 Я добавил код, который использовал в своем исходном вопросе, пожалуйста. - person Tabbi; 28.03.2019
comment
Я отредактировал свой код. Не добавляйте ничего в file.choose() , вы получите всплывающее окно для выбора файла! - person Omar113; 28.03.2019
comment
@ Omar113: Данные импортированы правильно, но после команды «упорядочить» выдается та же ошибка! - person Tabbi; 28.03.2019
comment
@Tabbi Можете ли вы поделиться выводом головы (дат)? - person Omar113; 28.03.2019
comment
@ Омар113 Спасибо. Я обновил свой исходный вопрос ранее, когда нашел решение - person Tabbi; 02.04.2019