R语言with/within函数添加数据框到环境变量
欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO数据挖掘。
R语言中的with/within函数
介绍一个神操作
如何把数据框或列表作为环境,自由的调用其中的对象? 这样可以方便我们自由的使用数据框或列表中的内容 with和within 函数可以实现这个功能
举例说明-创建一个数据框
data<-matrix(rnorm(20),nrow = 4,ncol=5)
colnames(data)<-paste("a" ,1:5,sep ="")
rownames(data)<-paste("b",1:4,sep = "")
head(data)
## a1 a2 a3 a4 a5
## b1 0.1407572 -1.0753243 1.05969022 1.7299476 2.0103886
## b2 0.9444536 0.8070661 -0.40638541 -0.0188307 -1.8951655
## b3 0.8461612 1.8689966 0.35246392 -0.2582239 1.0077248
## b4 0.5972781 0.4731699 0.04460225 1.4033448 -0.2314584
data<-as.data.frame(data)
直接调用失败
#cbind(a1,a2)
#a1+a2
使用with函数将data添加到环境
成功的直接调用,相当于这个变量已经添加到了当前环境 这样我们得以自由方便的调用数据框或列表中的变量 非常重要的技巧!
with(data,cbind(a1,a2))
## a1 a2
## [1,] 0.1407572 -1.0753243
## [2,] 0.9444536 0.8070661
## [3,] 0.8461612 1.8689966
## [4,] 0.5972781 0.4731699
##
with(data,a1+a2)
## [1] -0.9345671 1.7515197 2.7151578 1.0704480