我有一个大数据框。如果第一行中的值不低于某个阈值,我需要检查并测试第一行值并删除列。
red <- c(1,2,3)
blue <- c(4, 5, 4)
colors <- data.frame(red, blue)
colors <- t(colors)
colors
[,1] [,2] [,3]
red 1 2 3
blue 4 5 4
例如,我将如何只保留红色值低于 2.5 的列?
非常感谢!我对此还是很陌生!
您可以执行以下操作:
> colors[,colors['red',] < 2.5]
[,1] [,2]
red 1 2
blue 4 5
您不使用apply
函数,而是使用矢量化。该表达式colors['red',] < 2.5
导致一个逻辑向量 ( TRUE
, FALSE
),TRUE
其中表达式有效,而表达式无效FALSE
。您可以使用此逻辑向量来索引colors
,其中 usingcolors[, logical_vector]
确保您使用逻辑向量来索引列。
尝试这个
> colors[,colors[1, ]<2.5 ]
[,1] [,2]
red 1 2
blue 4 5