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()
将字符串转换为对象。
今天就分享到这里,后会有期。