如何使用变量的对象来表示变量
how can I use the object of a variable to represent a variable
例如,
name <- c("CHLYT1","CHLYT2")
assign(name[1], 2)
assign(name[2], 4)
result <- name[1]
我希望 result
是 2
,而不是 CHLYT1
您可以通过使用
实现此目的
result <- get(name[1])
但是它非常不合常规并且会引起很多混乱。
有几种方法可以处理这种情况。一个超级简单的方法是使用一个带有 命名元素 :
的简单向量
values <- c(CHLYT1 = 2, CHLYT2 = 4)
然后您可以访问这些值,显然,它们的名称是:
result <- values["CHLYT1"]
或按他们的位置
result <- values[1]
甚至按他们名字的位置(对应你的方法)
result <- values[names(values)[1]]
在所有情况下,result
将等于 2
。
例如,
name <- c("CHLYT1","CHLYT2")
assign(name[1], 2)
assign(name[2], 4)
result <- name[1]
我希望 result
是 2
,而不是 CHLYT1
您可以通过使用
实现此目的result <- get(name[1])
但是它非常不合常规并且会引起很多混乱。
有几种方法可以处理这种情况。一个超级简单的方法是使用一个带有 命名元素 :
的简单向量values <- c(CHLYT1 = 2, CHLYT2 = 4)
然后您可以访问这些值,显然,它们的名称是:
result <- values["CHLYT1"]
或按他们的位置
result <- values[1]
甚至按他们名字的位置(对应你的方法)
result <- values[names(values)[1]]
在所有情况下,result
将等于 2
。