R语言 变量赋值和提取 获取环境中的变量并赋值 assign和get函数使用

目的:

在进行循环的时候,经常需要把环境中的变量通过字符的形式提取出来并赋值给新的变量,涉及到环境变量和字符的转换问题。在R语言中,,可以通过assign()get()这两个函数操作。

get:返回和字符串同名的变量的值
assign:将字符串变量的字符进行复制

get和assign是互为镜像的两个函数。

实例:

  • 1、assign的用法
    假设有100个文件,分别为1.txt,2.txt到100.txt,现在吧这个100个文件分别读取,存到不同的变量名中:
n = 100
vari = "data"

for(i in n){
    file_name = sprintf("%s.txt", i)
    x_name = sprintf("%data_s", i)
    assign(x_name,  read.table( file_name) )
}

这样在环境中,就生成了100个变量,分别为 data_1到data_100。因此assign可以进行批量的赋值,并且有规律的控制变量名

  • 2、get的用法
    get是assign的逆过程,我们可以通过ls()获得环境中的变量的名称,然后通过get可以获得对应的环境变量中的值。

比如我们需要把上面的data_1到data_100的变量存成rda

#查看以data开通的变量
vars = ls(pattern = "^data")

for(i in vars){
    save( get(i), file = sprintf(".rda", i) )
}

这样我们就把data开头的数据通循环的方式,写入到了rda的数据中。

参考文献:

https://zhuanlan.zhihu.com/p/30383865

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,617评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,305评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,160评论 2 7