在进行循环的时候,经常需要把环境中的变量通过字符的形式提取出来并赋值给新的变量,涉及到环境变量和字符的转换问题。在R语言中,,可以通过 assign() 和 get() 这两个函数操作。
get :返回和字符串同名的变量的值
assign :将字符串变量的字符进行复制
get和assign是互为镜像的两个函数。
这样在环境中,就生成了100个变量,分别为 data_1到data_100。因此assign可以进行批量的赋值,并且有规律的控制变量名
比如我们需要把上面的data_1到data_100的变量存成rda
这样我们就把data开头的数据通循环的方式,写入到了rda的数据中。
https://zhuanlan.zhihu.com/p/30383865
先从最简单的开始假设你的数据是一个向量a,然后你作一个判断a==1,会得到一个向量全部是True和False
然后你把这个新的逻辑变量转换成数字变量就OK了。具体这么操作:
>a<-read.table() #读入数据
>a
[1] 1 2 3 2 1 0 8 6
>b<-a==1 #作判断a==1,然后把逻辑结果赋给b
>as.numeric(b) #强制转换成数字变量
[1] 1 0 0 0 1 0 0 0