如何使用列表中的名称操作引用的数组?
例如,我将如何添加一个新列并通过从列表中引用数组来a
和b
数组分配值? 如以下示例所示:
a = data.frame(v1 = seq(1,5), v2=seq(1,5))
b = data.frame(v1 = seq(2,5), v2=seq(2,5))
list = c("a", "b")
for(i in list){
# print array
print(get(i))
# or create copy and assign value
j=get(i)
j$v3 = 1
}
首先,不要使用函数(如列表(作为变量名。这真的是不行的。 如果要将 a 和 b 保存在列表中,则需要执行以下操作:
your_list <- list("a" = a,
"b" = b)
您想要循环访问列表的名称
for(i in names(list)){
# print array
print(your_list[[i]]) # you need two [ when referencing on a list
# or create copy and assign value
j <- your_list[[i]]
j$v3 <- seq(1:nrow(j))
assign(i,j)
}