R语言:变量名称和字符串的转换

R语言:变量名称和字符串的转换

2014-06-23 14:45:27

在R语言中,经常会遇到变量名称和字符串相互转换的问题。比如说,进行1000次循环运算,并将运算结果存储在1000个变量中,如x_1, x_2, ... , x_1000。这时候可以使用assign()函数,示例如下:

> a
错误: 找不到对象‘a‘
> assign(‘a‘, 1)
> a
[1] 1

上面的例子将字符‘a‘转变为变量a,并将其赋值为1 。

相反,如果我们想遍历一个变量序列,并对其中的每一个变量都进行操作,该怎么办呢?我们可以使用get()函数。示例如下:

> a <- 1
> b <- 2
> c <- 3
> sequence <- c(‘a‘, ‘b‘, ‘c‘)
> for (var in sequence){print(var + 10)}
错误于var + 10 : 二进列运算符中有非数值参数
> for (var in sequence){print(get(var) + 10)}
[1] 11
[1] 12
[1] 13

我们可以发现,get函数将字符var转变为变量,并根据变量的值进行后续操作。

时间: 2024-12-28 23:34:42

R语言:变量名称和字符串的转换的相关文章

R语言变量作用域

语言采用的是Lexical Scoping(词法作用域).词法作用域,又称静态作用域,即变量定义后的作用域是不变的. 在函数的主体里面,变量是分为被约束的.局部的.或自由的三种.被约束的变量是指匹配函数形式参数的变量.局部变量是指,在函数主题内创建和定义的变量.自由变量指的是那些既不是 局部也不是被约束的变量.当一个函数主体被求值,确定一个局部或 被约束变量的值没有问题.作用域规则决定了一个语言如何为自由变量 找恰当的值. 在R中,自由变量的取值是由它所在函数定义的环境(environment)

R语言学习笔记:字符串处理

想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit" + month + ".jpg" VB:"fitbit" & month & ".jpg" Haskell:"fitbit" ++ month ++ ".jpg" 还想到concat之

R语言变量赋值

变量可以使用向左,向右且等于操作符来分配值.可以使用 print() 或 cat() 函数打印变量的值.cat() 函数将多个项目并成连续并打印输出. # Assignment using equal operator. var.1 = c(0,1,2,3) # Assignment using leftward operator. var.2 <- c("learn","R") # Assignment using rightward operator. c

R语言--变量与数据类型

R语言的数据分类 R语言的数据类型较多,但都是动态声明,即变量不会声明为某种数据类型.变量分配为R对象 向量 列表 矩阵 数组 数据帧 因子 下面是几种最简单对象的类型 # Atomic vector of type character. print("abc");#character # Atomic vector of type double. print(12.5)#numeric # Atomic vector of type integer. print(63L)#integ

C语言变量名转字符串的方法

C语言中将变量名转换成字符串使用的是#符号,来看下边两个宏定义: #define name2str(name) (#name) #define print_val(x) printf(#x" = %d\n", x) 使用的时候自动将相应的变量名转换成字符串,示例代码: int main() { int a = 10; short b = 11; char c = 12; void *addr = (void *)123456; int xyz = 100; printf("w

R语言格式化数字和字符串format函数

数字和字符串可以使用 format()函数的格式化为特定样式. 语法 format()函数的基本语法是: format(x, digits, nsmall,scientific,width,justify = c("left", "right", "centre", "none")) 以下是所使用的参数的说明: x - 为向量输入 digits - 是显示总位数 nsmall - 是最小位数的小数点右边 scientific 

R语言学习(5)-字符串和因子

字符串和因子 1.字符串 创建字符串 > c("HELLO","WORLD") [1] "HELLO" "WORLD" 使用paste函数连接字符串 > paste(c("hello","hi"),"world") [1] "hello world" "hi world" > paste(c("hel

R语言字符串处理包stringr

前言 用R语言处理字符串,总觉得很麻烦,即不能用向量的方法进行分割,也不能用循环遍历索引.grep()家族函数常常记不住,paste()函数默认以空格分割,各种不顺手啊!随着使用R语言的场景越来越多,字符串处理是必不可少的.给大家推荐一个由 Hadley Wickham 开发的一个灵活的字符串处理包stringr. 目录 stringr介绍 stringr安装 stringr的API介绍 整体文章:http://blog.fens.me/r-stringr/

R语言学习笔记-变量的作用域

R语言是如何将变量值和变量绑定的 在r语言中,当前的 workspace就是global enviroment,当输入变量名时,首先会在global enviroment中搜索该变量,如有,则将它显示出来. 第二步,如在global enviroment中没有找到该变量民,则搜索search list中的各个包,search list 中的内容可以用search()得到 如果用户使用library()load了一个package ,则这个package将在search list中处于第二的位置