Как мне посчитать номер значения переменной с учетом состояния других переменных - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть набор данных, и я хочу подсчитать, сколько раз GB = 0 при Time =1.

Time       GB
1          300
2          500
1          0
2          200
1          0 

Ожидаемый результат - нет строк GB = 0, когда Time = 1 равно 2

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Несколько способов сделать это

sum(with(df, Time == 1 & GB == 0))
#[1] 2

С subset

nrow(subset(df, Time == 1 & GB == 0))

С dplyr

library(dplyr)
df %>% filter(Time == 1 & GB == 0) %>% nrow()
0 голосов
/ 01 февраля 2019

Подход Base R:

# check for data where df$GB = 0 & df$Time=1 and count the length    
nrow(df[df$GB==0 & df$Time==1,])

Выход:

[1] 2

ИЛИ

table(df[df$GB==0 & df$Time==1,])

Выход:

    GB
Time 0
   1 2
0 голосов
/ 01 февраля 2019

Вы можете использовать summarise из dplyr.

library(dplyr)

dat1 %>% 
  summarise(result = sum(GB == 0 & Time == 1))

, что дает:

#  result
#1      2

и данные:

dat1 <- read.table(header = TRUE, text="
Time       GB
1          300
2          500
1          0
2          200
1          0 
                 ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...