R语言如何不使用循环按索引将向量元素添加到对应列表元素
无循环实现方案
R内置的映射类函数可以直接完成这个需求,不需要写显式循环。
最简洁的是用Map函数,直接对两个对象的同索引元素执行相加操作:
A <- list(1,2,3) B <- c(10,20,30) AB <- Map(`+`, A, B)
运行后打印AB就可以得到你给出的预期输出。
也可以用mapply实现,需要额外加SIMPLIFY = FALSE参数避免结果被自动简化为向量:
AB <- mapply(`+`, A, B, SIMPLIFY = FALSE)
这两个函数都是R原生的向量化操作工具,底层自动完成索引遍历,不需要手动编写for循环代码。
内容的提问来源于stack exchange,提问作者Rel_Ai
相关产品推荐
相关产品推荐

