R中命名列表与命名向量中元素的逻辑比较

Logical comparison of elements from named list vs named vector in R

抱歉,如果这是重复的,我通读了很多主题,但找不到很好的解释。

我有一个数据集(数据框),我在其中计算了每一列的平均值。我现在想对这些值进行一些逻辑比较。我用 lapply 得到了方法

means_list <- lapply(dataset_df, mean)

输出命名列表。但是当我尝试比较这个列表的两个元素时,例如

means_list["condition1"] > means_list["condition2"]

我收到错误消息(“未实现这些类型的比较”)。

如果我改用 sapply 就不会出现该错误,因此我正在使用命名向量。我还可以通过首先使用 as.data.frame 将列表转换为数据框来解决错误。

所以,我觉得在此处对命名列表进行子集化时我做错了什么,但我不太明白如何做。是否有正确的方法来对列表进行子集化以便我可以进行逻辑比较?或者这对命名列表来说是不可能的吗?

谢谢!

要通过名称访问列表元素,您必须使用双括号:

means_list[["condition1"]] > means_list[["condition2"]]