как определить показатель по 4 столбцам? - PullRequest
2 голосов
/ 06 марта 2020

Я хочу определить показатель, как показано ниже

Если столбец C был таким же, как столбцы A и B, также столбец D был 11, будет 1.

A   B     C      D
12  12    13     4
12  13    12     11
12  12    12     11

, поэтому просто последний ряд должен быть 1.

A   B     C      D      id
12  12    13     4      0
12  13    12     11     0
12  12    12     11     1

Ответы [ 2 ]

3 голосов
/ 06 марта 2020

Одна dplyr возможность может быть:

df %>%
 rowwise() %>%
 mutate(ID = +(sd(c(A, B, C)) == 0 & D == 11))

      A     B     C     D    ID
  <int> <int> <int> <int> <int>
1    12    12    13     4     0
2    12    13    12    11     0
3    12    12    12    11     1
1 голос
/ 06 марта 2020

Опция с pmap

library(dplyr)
library(purrr)
df1 %>%
    mutate(ID = pmap(., ~ +(sd(head(c(...), 3)) == 0  & ..4 == 11)))
#   A  B  C  D ID
#1 12 12 13  4  0
#2 12 13 12 11  0
#3 12 12 12 11  1

data

df1 <- structure(list(A = c(12L, 12L, 12L), B = c(12L, 13L, 12L), C = c(13L, 
12L, 12L), D = c(4L, 11L, 11L)), class = "data.frame", row.names = c(NA, 
-3L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...