【问题标题】:Apply function to remove columns R应用函数删除列 R
【发布时间】:2023-03-31 20:15:02
【问题描述】:

我有一个大数据框。如果第一行中的值不低于某个阈值,我需要检查并测试第一行值并删除列。

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 的列?

非常感谢!我对此还是很陌生!

【问题讨论】:

    标签: r apply


    【解决方案1】:

    你可以这样做:

    > colors[,colors['red',] < 2.5]
         [,1] [,2]
    red     1    2
    blue    4    5
    

    您不使用apply 函数,而是使用矢量化。表达式colors['red',] &lt; 2.5 导致一个逻辑向量(TRUEFALSE),其中TRUE 表达式有效,FALSE 无效。您可以使用此逻辑向量来索引colors,其中使用colors[, logical_vector] 可确保您使用逻辑向量来索引列。

    【讨论】:

      【解决方案2】:

      试试这个

      > colors[,colors[1, ]<2.5 ]
           [,1] [,2]
      red     1    2
      blue    4    5
      

      【讨论】:

        猜你喜欢
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-18
        • 2020-07-16
        • 2014-11-13
        • 2014-08-26
        相关资源
        最近更新 更多