R函数之merge(一)

2019-05-31  本文已影响0人  见龙在田007er2770

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()将字符串转换为对象。


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

上一篇下一篇

猜你喜欢

热点阅读