我使用水管工api作为api。我有多个子表,其中所有的表都与那里的主键(study_id)连接,我希望将所有表与单个主键合并成一个表。有些表具有不同长度的。
例如:- countries_of_origin_table和countries_of_recruitment_table有不同的长度表
library(plumber)
library(tibble)
library(gwasrapidd)
library(dplyr)
#* @get /Studies
detailData <- function(query = ""){
print(query)
studies <- get_studies(efo_trait = query)
study <- studies@studies
study
publication <- studies@publications
publication
genotyping_techs_table <- studies@genotyping_techs
genotyping_techs_table
platforms_table <- studies@platforms
platforms_table
ancestries_table <- studies@ancestries
ancestries_table
ancestral_groups_table <- studies@ancestral_groups
ancestral_groups_table
countries_of_origin_table <- studies@countries_of_origin
countries_of_origin_table
countries_of_recruitment_table <- studies@countries_of_recruitment
countries_of_recruitment_table
Studies_table = list(study, genotyping_techs_table, platforms_table,
ancestries_table, ancestral_groups_table, countries_of_recruitment_table,
countries_of_origin_table ,publication)我尝试过合并所有表,但是没有工作
collection <- merge(study, genotyping_techs_table, platforms_table,
ancestries_table, ancestral_groups_table, countries_of_recruitment_table,
countries_of_origin_table ,publication, by = "study_id" ,all=TRUE)
collection请帮帮我
提前谢谢
发布于 2020-12-27 19:29:59
根据?merge的说法,它一次只允许两个数据集加入
合并(x,y,.)
哪里
x,y-数据帧或对象被胁迫到一个.
一个选项是将数据集放置在list中,并使用Reduce执行顺序连接。
lst1 <- list(study, genotyping_techs_table, platforms_table,
ancestries_table, ancestral_groups_table,
countries_of_recruitment_table,
countries_of_origin_table ,publication)
out <- Reduce(function(...) merge(..., by = "study_id" , all = TRUE), lst1)https://stackoverflow.com/questions/65469643
复制相似问题