Использование select () в R дает «Входные данные ошибки должны преобразовываться в целочисленные позиции столбца» - PullRequest
0 голосов
/ 31 января 2019

У меня есть скрипт, который постепенно добавляет количество столбцов к существующему фрейму данных ( df1 ), а затем из этого затем возьмет подмножество этих столбцов и выведет его как df2 * 1004.*, одновременно переименовывая столбцы.

Ранее я использовал для этого функцию select() в dplyr, и она ранее уже работала с подобными наборами данных, поэтому я немного озадаченпочему это не работает внезапно сейчас.Я видел несколько других тем об использовании select(), но ни один из них действительно не помог с моим вопросом.

Вот список столбцов и первая строка данных, которые я использую:

gene_id variant_id tss_distance ma_samples ma_count maf pval_nominal slope slope_se rsid chr pos ref_allele alt gene_id_new gene_name info
ENSG00000227232.4 1_13417_C_CGAGA_b37       -16136         50       50 0.07225430   0.00908288  0.3556660 0.1354910 rs777038595   1 13417          C CGAGA ENSG00000227232    WASH7P    1

Вот код для моего выбора:

parsed_columns = select(df1, chr = "chr",
                    pos = "pos",
                    ref = "ref_allele",
                    alt = "alt",
                    reffrq = "maf",
                    info = "info",
                    rs = "rsid",
                    pval = "pval_nominal",
                    effalt = "slope",
                    gene = "gene_name")

И из этого я получаю сообщение о том, что все имена в цитатах do not resolve to integer positions.

Сначала я думал, что ямогут быть имена только на неправильной стороне функции (например, это должно быть rsid = "rs"), но у вас есть столбцы, где они одинаковы с обеих сторон (например, pos = "pos"), и предположительно это не такприсутствует либо.Так что я немного застрял.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 01 февраля 2019

При использовании dplyr вам нужно указывать имена столбцов в кавычках.Достаточно просто добавить имя столбца ссылочного фрейма данных.

В общем,

df2 = select(df1,
             col1name = col1
             col2name = col2
             ...
             )

При условии, что col1, col2 и т. Д. Являются действительными именами столбцов в df1.

Попробуйте этот код R

parsed_columns = select(df1, chr = chr,
                    pos = pos,
                    ref = ref_allele,
                    alt = alt,
                    reffrq = maf,
                    info = info,
                    rs = rsid,
                    pval = pval_nominal,
                    effalt = slope,
                    gene = gene_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...