【问题标题】:I am looking for a way in R to drop a column depending on the position of a certain condition being met我正在寻找一种在 R 中根据满足某个条件的位置删除列的方法
【发布时间】:2020-11-25 01:59:55
【问题描述】:

我可以通过一个随机的例子来最好地解释这一点

A<-matrix(c(1,1,1,1,1,1,2,2,2),nrow=3,ncol=3)
> A
     [,1] [,2] [,3]
[1,]    1    1    2
[2,]    1    1    2
[3,]    1    1    2

我有另一个随机集,可以说

B<-(2,4,5)

有没有办法删除对应于 B 中奇数位置的向量?所以我希望删除第三列,因为 B 中的第三个条目是奇数。

编辑

抱歉编辑晚了

【问题讨论】:

    标签: r matrix statistics


    【解决方案1】:

    也许你可以试试

    A[,-which(B%%2==1)]
    

    给了

    > A[,-which(B%%2==1)]
         [,1] [,2]
    [1,]    1    1
    [2,]    1    1
    [3,]    1    1
    

    【讨论】:

      【解决方案2】:

      IsOdd 的选项来自DescTools

      library(DescTools)
      A[,!IsOdd(B)]
      #      [,1] [,2]
      #[1,]    1    1
      #[2,]    1    1
      #[3,]    1    1
      

      【讨论】:

        猜你喜欢
        • 2020-06-10
        • 2020-01-09
        • 1970-01-01
        • 2019-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-26
        相关资源
        最近更新 更多