如何在R中的for循环中为列表键分配值

时间:2020-03-16 04:47:47

标签: r for-loop

lista = vector(mode = 'list', length =2)
listname = c(0.1,0.2)
names(lista) = listname
for (i in listname){lista[[i]] = i}

lista [[i]] <-i中的错误: 尝试在integerOneIndex中选择少于一个元素

我想获取一个键=(0.1,0.2)的列表,并为for循环中的那些键分配值

1 个答案:

答案 0 :(得分:0)

我同意@RonakShah的评论,因为不清楚您要做什么。

我认为

  1. 您有一个list(称为lista),其中有k个NULL元素,并且
  2. 您有一个包含k个元素的numeric向量(称为listname)。

我进一步假设您要尝试(1)使用lista中给定的名称来命名每个listname元素,并且(2)用来自的相应条目替换每个NULL元素listname

您可以使用MapsetNames一步完成此操作:

setNames(Map(c, lista, listname), listname)
#$`0.1`
#[1] 0.1
#
#$`0.2`
#[1] 0.2

样本数据

lista <- vector(mode = "list", length = 2)
listname <- c(0.1, 0.2)
相关问题