操作从列表 - R 引用的数组



如何使用列表中的名称操作引用的数组?

例如,我将如何添加一个新列并通过从列表中引用数组来ab数组分配值? 如以下示例所示:

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)
}

最新更新