应用函数删除列R
我有一个大数据框。我需要检查并测试第一行的值,如果第一行中的值不低于某个阈值,则删除列应用函数删除列R,r,apply,R,Apply,我有一个大数据框。我需要检查并测试第一行的值,如果第一行中的值不低于某个阈值,则删除列 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 red您可以执行以下操作: > colors[,colors['red'
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
red您可以执行以下操作:
> colors[,colors['red',] < 2.5]
[,1] [,2]
red 1 2
blue 4 5
>颜色[,颜色['red',]<2.5]
[,1] [,2]
红色12
蓝色45
不使用apply
函数,而是使用矢量化。表达式将['red',]<2.5
着色,在表达式有效的地方,会导致逻辑向量(TRUE
,FALSE
),在表达式无效的地方,会导致逻辑向量TRUE
)。您可以使用此逻辑向量索引颜色
,其中使用颜色[,logical_vector]
可确保使用逻辑向量索引列。您可以执行以下操作:
> colors[,colors['red',] < 2.5]
[,1] [,2]
red 1 2
blue 4 5
>颜色[,颜色['red',]<2.5]
[,1] [,2]
红色12
蓝色45
不使用apply
函数,而是使用矢量化。表达式将['red',]<2.5
着色,在表达式有效的地方,会导致逻辑向量(TRUE
,FALSE
),在表达式无效的地方,会导致逻辑向量TRUE
)。您可以使用此逻辑向量索引颜色
,其中使用颜色[,logical_vector]
可确保使用逻辑向量索引列。尝试此操作
> colors[,colors[1, ]<2.5 ]
[,1] [,2]
red 1 2
blue 4 5
>colors[,colors[1,]试试这个
> colors[,colors[1, ]<2.5 ]
[,1] [,2]
red 1 2
blue 4 5
>颜色[,颜色[1,]