Перечислите переменную в одной таблице данных для каждой категории в другом файле данных. - PullRequest
0 голосов
/ 06 июля 2018

Если у меня есть data.table:

  a <- data.table("NAME" = c("A", "B", "A"),  
                  "PASS_FAIL" = c("F", "P", "P"))

И data.frame (который представляет собой таблицу частот для числа раз, когда каждый уникальный NAME отображается в таблице a:

b <- aggregate(data.frame(Count = a$NAME), list(Name = a$NAME), length)

Итак, b выглядит так:

> b
  Name Count
1    A     2
2    B     1

Как мне теперь добавить новый столбец в таблицу b, который подсчитывает количество F для каждого уникального NAME? Ожидаемый результат:

> b
  Name    Count    FailCount
1 A       2        1
2 B       1        0

Я знаю, мне нужно что-то с эффектом a$PASS_FAIL == "F".

1 Ответ

0 голосов
/ 06 июля 2018

С помощью data.table, сгруппированных по 'NAME', получить количество строк с .N и sum логического выражения (PASS_FAIL == "F") для количества случаев сбоя

library(data.table)
a[, .(Count = .N, FailCount = sum(PASS_FAIL=="F")), NAME]
#    NAME Count FailCount
#1:    A     2         1
#2:    B     1         0

Если нам нужен base R метод

merge(b, aggregate(cbind(FailCount = PASS_FAIL == "F") ~ NAME, a, sum), 
             by.x = 'Name', by.y = 'NAME')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...