首页 > 解决方案 > R中命名列表元素与命名向量的逻辑比较

问题描述

抱歉,如果这是重复的,我阅读了许多线程,但找不到一个好的解释。

我有一个数据集(数据框),我在其中计算了每列的平均值。我现在想在这些值之间进行一些逻辑比较。我曾经lapply得到手段

means_list <- lapply(dataset_df, mean)

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

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

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

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

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

谢谢!

标签: rsubsetlogical-operators

解决方案


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

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

推荐阅读