drunkfish69 发表于 2020-4-17 16:25 
多谢,数据是从GEO数据库下载的,具体他用的什么编码超出我的理解力了。综合考虑您关于编码的判断(复制数据集中"hsa-miR-629"),还有llb_321坛友去掉引号的建议(
grep('miR.pattern[k]', ...)的引号),修改我原来的代码,得到下图这样的结果(初始预期)
关于您建议的将数据集中的字符串截取11个字符,进行左连接,不知能否实现我以下目的呢?我目前了解substring可以截取字符串,如果数据集比较多,会不会比较麻烦?
我的新设想是:在我原代码基础上,或者您的代码,加个循环,得到如下结果(手写的),了解
具体哪个miR,出现在某个数据集中,还有行数(这个目的是主要的,形式是次要的)(grep函数,
value = T参数给出了名称
,去掉
value = T参数,就会给出位置:行数)。前面也和您说过,hsa-mi
R-629和hsa-mi
r-629(举例,r大写与小写),代表两种不同的东西。grep函数中
ignore.case = T参数表示忽略大小写,正好符合我的大小写都匹配的要求。换言之,不管大小写,我都想要。麻烦您再给看一下,多谢!!
[1]GSE13937
character(0)
character(0)
character(0)
character(0)
character(0)
character(0) 以上6行有没有无所谓,反正是代表没匹配上就行
[2]GSE102286
character(0)
character(0)
character(0)
character(0) 以上4行有没有无所谓,反正是代表没匹配上就行
[1] "\"hsa-miR-605\"" 581 (代表在数据集中的行数)
[1] "\"hsa-miR-629\"" 604