Я ищу способ в R удалить столбец в зависимости от положения определенного условия, которое выполняется - PullRequest
1 голос
/ 05 августа 2020

Я могу лучше всего объяснить это на случайном примере

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 нечетная.

редактировать

извините за позднее редактирование

Ответы [ 2 ]

3 голосов
/ 05 августа 2020

Может быть, вы можете попробовать

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

, что дает

> A[,-which(B%%2==1)]
     [,1] [,2]
[1,]    1    1
[2,]    1    1
[3,]    1    1
2 голосов
/ 05 августа 2020

Вариант с IsOdd от DescTools

library(DescTools)
A[,!IsOdd(B)]
#      [,1] [,2]
#[1,]    1    1
#[2,]    1    1
#[3,]    1    1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...