# 方法一
利用一个list来放这些变量。
以抽象功能来说,
list很适合把字串map到R物件。
x <- list()
for(i in 1:3) {
name <- # 建立a1, a2, ...
x[[name]] <- value # 赋值
}
sum(unlist(x))
# 方法二
假设你已经用你上面写的方法设定好a1, a2, a3, ...
你可以把“环境”当list用。(但是两者还是不太一样)
retval <- 0
for(i in 1:3) {
name <- # 建立如a1, a2的字串
retval <- retval + globalenv()[[name]]
}
当然你可以继续玩apply家族
或是用get之类的函数
但是这些都是透过“环境”来利用字串存取物件。
※ 引述《ntme (one shot one kill)》之铭言:
: [问题类型]:
:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
:
: [软件熟悉度]:
: 请把以下不需要的部份删除
: 入门(写过其他程式,只是对语法不熟悉)
:
: [问题叙述]:
: 以用 for loop 产生连续的变量并命名,但不知道怎么用
: for loop再利用产生的变量运算
: [程式范例]:
:
: #产生 a1 = 1, a2 = 2, a3 = 3
: for ( i in 1:3 ) {
: var_name <- paste("a",i, sep="")
: assign( var_name, i)
: }
: 请问如何写for loop把 a1, a2, a3加起来
: