Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在向量上重叠,使用值作为输出列表名称_R - Fatal编程技术网

R 在向量上重叠,使用值作为输出列表名称

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 famliy(或plyr)函数族获取向量,将函数应用于元素,并返回一个名称与第一个参数向量中提供的值相同的列表。例如,如果我这样做:

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
替换为字符串时,它会从列表折叠为向量。谢谢你的评论。是的,我会编辑我的答案。