У меня есть несколько фреймов данных с информацией о символе гена.Я объединил эти кадры данных в пары по два, используя функцию combin
, которая сгенерировала (df [1:300]
), где каждая строка соответствует комбинации двух кадров данных.Мне нужно получить одинаковые гены символов между каждой комбинацией автоматически в цикле.Также мне нужно получить общие гены между комбинациями df отдельно на разных векторах или разных строках и столбцах df.
Я могу автоматически найти внутри петли одни и те же гены для каждой комбинации, однако выходные данные представляют собой один вектор со всеми генами из каждой комбинации, и я не могу определить общие геныкаждой комбинации.
df1, df2, df3 ...
ALL_df <- c("df1", "df2", "df3", ...)
df <- data.frame(t(data.frame(combn(ALL_df, 2, simplify = FALSE), stringsAsFactors = F)), row.names = NULL,stringsAsFactors = F)
loop <- function(df,df1, df2, df3){
res <- NULL
for(i in 1:nrow(df)){
y <- unlist(df[i,])
message(paste(y[1], y[2], sep = " x "))
Combination <- do.call(cbind,mget(y))
rownames(combination) <- NULL
res <- c(res,paste0(intersect(combination [1], combination[2])))
}
res
}
lopp (df,df1, df2, df3, ...)