R 在向量上重叠,使用值作为输出列表名称
我想知道最好的方法是使用lapply famliy(或plyr)函数族获取向量,将函数应用于元素,并返回一个名称与第一个参数向量中提供的值相同的列表。例如,如果我这样做:R 在向量上重叠,使用值作为输出列表名称,r,R,我想知道最好的方法是使用lapply famliy(或plyr)函数族获取向量,将函数应用于元素,并返回一个名称与第一个参数向量中提供的值相同的列表。例如,如果我这样做: lapply(letters[1:3], function(x) NULL) [[1]] NULL [[2]] NULL [[3]] NULL 我想返回,而不是[[1]]、[[2]]、[[3]]作为列表的名称(或者只是简单的索引),字母“a”、“b”和“c”作为输出列表的名称 从这里我知道我可以这样做()来预先创建具有
lapply(letters[1:3], function(x) NULL)
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
我想返回,而不是[[1]]、[[2]]、[[3]]作为列表的名称(或者只是简单的索引),字母“a”、“b”和“c”作为输出列表的名称
从这里我知道我可以这样做()来预先创建具有正确名称的列表,但是我想知道我是否可以在不预先创建具有正确名称的列表的情况下这样做
谢谢,
Matt
sapply
有一个USE.NAMES
参数,它可以执行您想要的操作:
sapply(letters[1:3], function(x) NULL, simplify=FALSE, USE.NAMES=TRUE)
# $a
# NULL
# $b
# NULL
# $c
# NULL
正如Josh O'Brien在评论中所指出的——正如您所发现的——
simplify=FALSE
可以防止将输出简化为更简单的数据结构,从而使结果与使用lappy
得到的结果保持一致(当然,除了名称)。谢谢,这非常有效!还可能设置simplify=FALSE
,使行为更加一致,如lappy()
's。Josh O'Brien:我要回答的问题是,当我将Null
替换为字符串时,它会从列表折叠为向量。谢谢你的评论。是的,我会编辑我的答案。