У меня есть два файла, которые мне нужно связать.нужно пометить столбцы, чтобы избавиться от столбцов NA: нумеруются NAs
> dim(sample.details)
[1] 656 18
> dim(E.rna)
[1] 47323 656
Моя задача - обозначить имена столбцов одного фрейма данных файла значениями в столбце от другого.
ptr <- match(colnames(E.rna), sample.details$my_category_2)
sample.details <- sample.details[ptr,] # reorder to correspond to rows of E.RNA
rownames(E.rna)<-outcome
Моя проблема в том, что теперь, когда я правильно обозначил столбцы E.rna. Мне нужно избавиться от значений, которые являются «NA». Ниже команда не работает, к сожалению, ...
E.rna_conditions_cleaned<-subset(E.rna, !is.na(colnames(E.rna)))
Это происходит потому, что Перемаркировка столбцов только столбцы этикетки для со значениями NA как «NA.1, NA.2, NA.3 ... . «Поэтому я не могу избавиться от них с помощью« na.omit ».
Могу ли я каким-то образом использовать регулярные выражения, чтобы последовательно избавиться от колонок NA ...? Моя идея была бы такой:
subset(df, any df column name that does not == 'NA' followed by a 1-3 digit number)
Я не знаком с регулярным выражением ... Любые советы?
Можете ли вы показать небольшой воспроизводимый пример и ожидаемый выход? Попробуйте 'df [! Grepl ("^NA \\. \\ d + ", names (df))]' В 'подмножестве' вы должны использовать' select' для выбора столбцов, и он может быть именованным или числовым вектор. – akrun
Привет, Akrun Итак, вы имеете в виду: «E.rna_conditions_cleaned <-subset (E.rna,! Is.na (colnames (E.rna)), select = df [! Grepl ("^NA \\. \\ d + " , имена (df))]) "? Я обновлю вопрос, спасибо –
Спасибо Akrun Я сделал это с помощью "E.rna_conditions_cleaned <-E.rna_conditions_cleaned [! Grepl ("^NA \\. \\ d + ", имена (E.rna_conditions_cleaned))]" –