美文网首页
R函数之merge(一)

R函数之merge(一)

作者: 见龙在田007er2770 | 来源:发表于2019-05-31 21:01 被阅读0次

    1

    使用merge()函数读取数据:

    class1_fence <- merge(X = fence, Y = class1_norm, 
                                      by.x = 'SampleID' , by.y = 'SampleID' ,all.x = TRUE)
    Error in as.data.frame(x) : argument "x" is missing, with no default
    

    试了多种方法,总是提示这个问题,最终解决。

    class1_fence <- merge(x = fence, y = class1_norm, 
                                      by.x = 'SampleID' , by.y = 'SampleID' ,all.x = TRUE)
    
    

    原来R是大小写比较敏感的!

    2

    继续操作,结果如下:

    class1_fence <- merge(x = fence, y = class1_norm, 
                                     by.x = SampleID , by.y = SampleID ,all.x = TRUE)
    Error in fix.by(by.x, x) : object 'SampleID' not found
    

    试了一种方法解决。

    class1_fence <- merge(x = fence, y = class1_norm, 
                                     by.x = 'SampleID' , by.y = 'SampleID' ,all.x = TRUE)
    Error in fix.by(by.x, x) : object 'SampleID' not found
    

    为什么会是这样呢?
    出错提示,object 'SampleID' not found,因为SampleID不是一个对象,是一个变量,所以得用引号括起来!

    3

    继续操作,结果如下:

    merge(x = name, y = class1_norm,
     by.x = 'SampleID' , by.y = 'SampleID' ,all.x = TRUE)
    
    Error in fix.by(by.x, x) : 'by' must specify a uniquely valid column
    

    数据中的SampleID是一个实实在在存在的数据,极有可能是因为x没有读入的原因,于是我试了试

     merge(x = get(name), y = class1_norm,
     by.x = 'SampleID' , by.y = 'SampleID' ,all.x = TRUE)
    

    结果大功告成!
    上式中的get()将字符串转换为对象。


    今天就分享到这里,后会有期。

    相关文章

      网友评论

          本文标题:R函数之merge(一)

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