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"]]
抱歉,如果这是重复的,我通读了很多主题,但找不到很好的解释。
我有一个数据集(数据框),我在其中计算了每一列的平均值。我现在想对这些值进行一些逻辑比较。我用 lapply
得到了方法
means_list <- lapply(dataset_df, mean)
输出命名列表。但是当我尝试比较这个列表的两个元素时,例如
means_list["condition1"] > means_list["condition2"]
我收到错误消息(“未实现这些类型的比较”)。
如果我改用 sapply
就不会出现该错误,因此我正在使用命名向量。我还可以通过首先使用 as.data.frame
将列表转换为数据框来解决错误。
所以,我觉得在此处对命名列表进行子集化时我做错了什么,但我不太明白如何做。是否有正确的方法来对列表进行子集化以便我可以进行逻辑比较?或者这对命名列表来说是不可能的吗?
谢谢!
要通过名称访问列表元素,您必须使用双括号:
means_list[["condition1"]] > means_list[["condition2"]]