r - 重叠向量,使用值作为输出列表名称

标签 r

这个问题在这里已经有了答案:





Access and preserve list names in lapply function

(6 个回答)


5年前关闭。




我想知道最好的方法是使用 lapply famliy(或 plyr)系列函数来获取一个向量,将一个函数应用于元素,并返回一个名称与第一个参数向量中提供的值相同的列表.所以,例如,如果我这样做:

lapply(letters[1:3], function(x) NULL)

[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

我想返回,而不是 [[1]], [[2]], [[3]] 作为列表的名称(或者只是简单的索引),字母“a”,“b”,和“c”作为输出列表的名称。

我从这里知道我可以这样做( How to create a list with names but no entries in R/Splus? )来预先创建具有正确名称的列表,但我想知道是否可以在不预先创建具有正确名称的列表的情况下执行此操作。

谢谢,
马特

最佳答案

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防止输出被简化为更简单的数据结构,使结果与您使用 lapply 得到的结果保持一致。 (当然,除了名字)。

关于r - 重叠向量,使用值作为输出列表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18853708/

相关文章:

r - "Could not find function"包中的错误 'caret',R

r - 如果数据表列选择器也处于事件状态,如何选择行

arrays - 在 R data.table 中快速操作字符数组

r - 在 R 中自动读取 zip 文件

r - 如何获取 R 中的内置数据集列表?

r - 对于每一行,找到最接近指定值的列

r - 在 position_dodge() 之后的 ggplot2 中注释?

r - 支持 R(或仅外部程序)的基于 Web 的报告生成

r - 从多个数据的线性回归中获取 y 轴截距和斜率,并将截距和斜率值传递给数据框

r - 如何重新加载 Shiny 的应用程序