在R中动态创建命名列表 [英] Dynamically creating named list in R

查看:82
本文介绍了在R中动态创建命名列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要按照以下步骤在R中动态创建命名列表.

I need to create named lists dynamically in R as follows.

假设有一个名称数组.

name_arr<-c("a","b")

并且有一个值数组.

value_arr<-c(1,2,3,4,5,6)

我想做的是这样的:

list(name_arr[1]=value_arr[1:3])

但是,当我尝试执行此操作时,R会引发错误.关于如何解决这个问题有什么建议吗?

But R throws an error when I try to do this. Any suggestions as to how to get around this problem?

推荐答案

您可以使用setNames.例子:

setNames(list(value_arr[1:3]), name_arr[1])
#$a
#[1] 1 2 3

setNames(list(value_arr[1:3], value_arr[4:6]), name_arr)
#$a
#[1] 1 2 3
#
#$b
#[1] 4 5 6

或不包含setNames:

mylist <- list(value_arr[1:3])
names(mylist) <- name_arr[1]
mylist
#$a
#[1] 1 2 3

mylist <- list(value_arr[1:3], value_arr[4:6])
names(mylist) <- name_arr
mylist
#$a
#[1] 1 2 3
#
#$b
#[1] 4 5 6

这篇关于在R中动态创建命名列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆