R Подсчитать значения в переменной DF по группам

Нет, порядок свойств объектов не гарантируется в JavaScript; вам нужно использовать Array.

Определение объекта из ECMAScript Third Edition (pdf) :

4.3.3 Объект

Объект является членом типа Object. Это неупорядоченный набор свойств, каждый из которых содержит примитивное значение, объект или функцию. Функция, хранящаяся в свойстве объекта, называется методом.

Поскольку ECMAScript 2015, использование объекта Map может быть альтернативой. A Map разделяет некоторые сходства с Object и гарантирует порядок ключей :

Карта выполняет итерацию своих элементов в порядке размещения, тогда как порядок итерации не указан для объектов.

0
задан TeYaP 18 March 2019 в 16:45
поделиться

1 ответ

Чтобы удалить строки, где value равно NA, используйте filter:

test.df %>% group_by(origin,year) %>% 
  filter(!is.na(value)) %>% count()

# A tibble: 20 x 3
# Groups:   origin, year [20]
   origin year      n
   <fct>  <fct> <int>
 1 CAN    1998      4
 2 CAN    2000      3
 3 CHN    1998      3
 4 CHN    2000      4
 5 DEU    1998      4
 6 DEU    2000      4
 7 GBR    1998      4
 8 GBR    2000      4
 9 ITA    1998      3
10 ITA    2000      4
11 JPN    1998      3
12 JPN    2000      3
13 KOR    1998      4
14 KOR    2000      4
15 MEX    1998      4
16 MEX    2000      4
17 NLD    1998      3
18 NLD    2000      4
19 USA    1998      4
20 USA    2000      4

Обратите внимание, однако, что это не подсчитывает, сколько type есть в каждом группа, но сколько строк. Если вы хотите посчитать количество уникальных type с, вы можете сделать это:

test.df %>% group_by(origin,year) %>% 
  filter(!is.na(value)) %>% 
  summarize(n_distinct(type)) #Merci, @Frank!

# A tibble: 20 x 3
# Groups:   origin [?]
   origin year  `length(unique(type))`
   <fct>  <fct>                  <int>
 1 CAN    1998                       3
 2 CAN    2000                       3
 3 CHN    1998                       2
 4 CHN    2000                       3
 5 DEU    1998                       4
 6 DEU    2000                       3
 7 GBR    1998                       4
 8 GBR    2000                       4
 9 ITA    1998                       3
10 ITA    2000                       4
11 JPN    1998                       3
12 JPN    2000                       2
13 KOR    1998                       4
14 KOR    2000                       4
15 MEX    1998                       3
16 MEX    2000                       3
17 NLD    1998                       2
18 NLD    2000                       3
19 USA    1998                       3
20 USA    2000                       4
0
ответ дан iod 18 March 2019 в 16:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: