美文网首页BG-R
R的assign函数

R的assign函数

作者: p1uxtar | 来源:发表于2019-10-14 17:21 被阅读0次

    今天遇到一个问题,比如有一堆基因名,genes <- c("ADAMTS19", "AHSG", "APOA1", "APOA2", "APOC3"),我想挨个处理以后,把每个基因对应的结果放到一个新的变量里,而这个新的变量自动以该基因或相关的字符串命名。例如第一个就叫"gene_ADAMTS19"

    在循环的时候,当然不能写for (gene in genes) {gene <- XXXX_function},这样只能留下最后一次循环的结果,前面的都会被覆盖掉,或者根本不能直接赋值。

    思考这个问题最核心的部分在于,每个循环中的变量名都是不同的,赋值的结果怎样才能是变量?这个时候需要请出assign(x, value)函数,可以把value的值赋给x;这个时候x作为参数,就可以随意写了。就像这样:

    for (gene in genes) {
      gene_name <- paste("gene", gene, sep = "_") # 每次的变量名都含有当前的"gene"。
      assign(gene_name, XXXX_function(gene, parameter2)) # 将XXXX_function的结果assign给当前的变量名。
    }
    

    相关文章

      网友评论

        本文标题:R的assign函数

        本文链接:https://www.haomeiwen.com/subject/qbnrmctx.html