我正在尝试编写一个聚合某些基因的for循环。这是我的代码:
for (i in 1:10) {
cluster <- names(pheat.cut.map[grep(i, pheat.cut.map)])
print(cluster)
assign(paste("cluster", i, sep=""), cluster)
cat("\n")
}
它适用于除1之外的所有事物。循环计算集群1和集群10中的基因。任何建议??
答案 0 :(得分:1)
尝试:
cluster <- names(pheat.cut.map[grep(paste0(i, '$'), pheat.cut.map)])
这会生成一个正则表达式,意味着1
包含最后的任何内容。当你正在寻找1
您还可以使用paste0('^', i, '$')
来表示'之前没有任何事情',以避免在您寻找1时将grep值设置为11,111,12;
grep(paste0(1, '$'), 1:11)
[1] 1 11
grep(paste0('^', 1, '$'), 1:11)
[1] 1