我有ListResiduals
看起来像这样的列表:
ListResiduals
OptionA Value
1 4
2 0
3 7
OptionB Value
1 2
2 2
3 9
OptionC Value
1 3
2 2
3 1
我需要使用上一个列表Watchlist
的名称(其中最后一个值是例如> 5)创建一个新列表,如下所示:
Watchlist
OptionA
OptionB
我有以下代码,但是它为我想要的创建了一个毫无意义的矩阵。
Watchlist <- sapply(ListResiduals, function(x) {
(lapply(ListResiduals, tail, n = 1) > 5)
})
尝试这个:
unlist(lapply(ListResiduals,
FUN = function(d) names(d)[1][tail(d, 1)$Value > 5]))
# "OptionA" "OptionB"
tail(d, 1)$Value > 5
检查的最后一个值是否Value
为> 5
。然后,我们选择data.frame(头名OptionA
,OptionB
,OptionC
),但只保留如果该值tail(d, 1)$Value > 5
就是TRUE
使用unlist
将返回一个字符向量。
ListResiduals <-
list(d1 = data.frame(OptionA = 1:3, Value = c(4, 0, 7)),
d2 = data.frame(OptionB = 1:3, Value = c(2, 2, 9)),
d3 = data.frame(OptionC = 1:3, Value = c(3, 2, 1)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句