Как использовать набор данных для извлечения указанных c столбцов из другого набора данных? - PullRequest
0 голосов
/ 06 марта 2020

Как использовать набор данных для извлечения определенных c столбцов из другого набора данных?

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Используйте intersect, чтобы найти общие имена между двумя наборами данных.

snp.common <- intersect(data1$snp, colnames(data2$snp))
data2.separated <- data2[,snp.common]
0 голосов
/ 06 марта 2020

Всегда лучше предоставить минимальный воспроизводимый пример :

df1 <- data.frame(V1 = 1:3,
                  V2 = 4:6,
                  V3 = 7:9)

df2 <- data.frame(snp = c("V2", "V3"),
                  stringsAsFactors=FALSE)

Теперь мы можем использовать вектор символов для индексации нужных столбцов:

df1[, df2$snp]

Возвращает:

  V2 V3
1  4  7
2  5  8
3  6  9

Редактировать:

Не могли бы вы знать, как это сделать, чтобы он сохранил столбец "i..POP" в data2 ?

df1 <- data.frame(ID = letters[1:3],
                  V1 = 1:3,
                  V2 = 4:6,
                  V3 = 7:9)
names(df1)[1] <- "ï..POP"

df2 <- data.frame(snp = c("V2", "V3"),
                  stringsAsFactors=FALSE)

Мы можем использовать c для объединения имен столбцов:

df1[, c("ï..POP", df2$snp)]
  ï..POP V2 V3
1      a  4  7
2      b  5  8
3      c  6  9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...