【发布时间】:2021-10-21 04:34:05
【问题描述】:
对不起,如果这是重复的,我阅读了许多线程,但找不到一个好的解释。
我有一个数据集(数据框),我在其中计算了每列的平均值。我现在想在这些值之间进行一些逻辑比较。我使用lapply 来获取手段
means_list <- lapply(dataset_df, mean)
输出一个命名列表。但是当我尝试比较这个列表的两个元素时,例如
means_list["condition1"] > means_list["condition2"]
我收到一个错误(“未实现这些类型的比较”)。
如果我使用 sapply 代替,我不会收到该错误,以便我使用命名向量。我还可以通过先将列表转换为带有as.data.frame 的数据框来解决该错误。
所以,在这里对命名列表进行子集化时,我觉得我做错了,但我不太明白怎么做。是否有正确的方法来对列表进行子集化以便我可以进行逻辑比较?或者这对于命名列表是不可能的?
谢谢!
【问题讨论】:
-
谢谢,这解释得很好。有点棘手的是,只有列表才真正需要双括号。我已经可以说,我将来可能会忘记这样做。
标签: r subset logical-operators