Size: a a a

R (язык программирования)

2020 September 28

IT

Inip Tyig in R (язык программирования)
Alexey
Сделать отдельный столбец с отсортированным рядом и по нему фильтр лупануть
ну типа того
источник

JS

Jury Sergeev in R (язык программирования)
Inip Tyig
т.е.: перегнать в «длинный» вариант, отсортировать, слепить в «широкий»
возможно, подумаю, спасибо
источник

PU

Philipp Upravitelev in R (язык программирования)
а просто в строку склеить?
источник

PU

Philipp Upravitelev in R (язык программирования)
и отфильтровать по результату expand.grid() :))))
источник

YS

Yuriy Saraikin in R (язык программирования)
Jury Sergeev
коллеги, странный вопрос у меня, вот такие вот данные есть:

tidyr::crossing(
 a = c(1,2,3,4,5),
 b = c(1,2,3,4,5),
 c = c(1,2,3,4,5),
 .name_repair = "minimal"
) %>%
 filter(
   a != b &
     a != c &
     b != c
 )

нужно отсеять дубликаты, но хитрые, такие что (имеется в виду строка) вектор 1,2,3 = 3,2,1 = 1,3,2 = 3,1,2, т.е. мне нужно что бы осталась какая-то одна комбинация
как бы покрасивее это сделать?
предложу такой вариант
df <- tidyr::crossing(
 a = c(1,2,3,4,5),
 b = c(1,2,3,4,5),
 c = c(1,2,3,4,5),
 .name_repair = "minimal"
) %>%
 filter(
   a != b &
     a != c &
     b != c
 )

out <- apply(df, 1, function(x) paste0(sort(x), collapse = ""))

df[!duplicated(out), ]

# A tibble: 10 x 3
      a     b     c
  <dbl> <dbl> <dbl>
1     1     2     3
2     1     2     4
3     1     2     5
4     1     3     4
5     1     3     5
6     1     4     5
7     2     3     4
8     2     3     5
9     2     4     5
10     3     4     5
источник

JS

Jury Sergeev in R (язык программирования)
кстати да, это оно, должно сработать, испробую
источник

JS

Jury Sergeev in R (язык программирования)
Yuriy Saraikin
предложу такой вариант
df <- tidyr::crossing(
 a = c(1,2,3,4,5),
 b = c(1,2,3,4,5),
 c = c(1,2,3,4,5),
 .name_repair = "minimal"
) %>%
 filter(
   a != b &
     a != c &
     b != c
 )

out <- apply(df, 1, function(x) paste0(sort(x), collapse = ""))

df[!duplicated(out), ]

# A tibble: 10 x 3
      a     b     c
  <dbl> <dbl> <dbl>
1     1     2     3
2     1     2     4
3     1     2     5
4     1     3     4
5     1     3     5
6     1     4     5
7     2     3     4
8     2     3     5
9     2     4     5
10     3     4     5
благодарю!
источник

АК

Артём Клевцов... in R (язык программирования)
Jury Sergeev
коллеги, странный вопрос у меня, вот такие вот данные есть:

tidyr::crossing(
 a = c(1,2,3,4,5),
 b = c(1,2,3,4,5),
 c = c(1,2,3,4,5),
 .name_repair = "minimal"
) %>%
 filter(
   a != b &
     a != c &
     b != c
 )

нужно отсеять дубликаты, но хитрые, такие что (имеется в виду строка) вектор 1,2,3 = 3,2,1 = 1,3,2 = 3,1,2, т.е. мне нужно что бы осталась какая-то одна комбинация
как бы покрасивее это сделать?
expand.grid уже не соответствует канонам православной tidy-веры?
источник

a

aGricolaMZ in R (язык программирования)
Артём Клевцов
expand.grid уже не соответствует канонам православной tidy-веры?
конечно! он же не выдают tibble :)
источник

АК

Артём Клевцов... in R (язык программирования)
Jury Sergeev
коллеги, странный вопрос у меня, вот такие вот данные есть:

tidyr::crossing(
 a = c(1,2,3,4,5),
 b = c(1,2,3,4,5),
 c = c(1,2,3,4,5),
 .name_repair = "minimal"
) %>%
 filter(
   a != b &
     a != c &
     b != c
 )

нужно отсеять дубликаты, но хитрые, такие что (имеется в виду строка) вектор 1,2,3 = 3,2,1 = 1,3,2 = 3,1,2, т.е. мне нужно что бы осталась какая-то одна комбинация
как бы покрасивее это сделать?
источник

JS

Jury Sergeev in R (язык программирования)
Артём Клевцов
expand.grid уже не соответствует канонам православной tidy-веры?
да вопрос не в этом был
источник

JS

Jury Sergeev in R (язык программирования)
спасибо, попробую
источник

JS

Jury Sergeev in R (язык программирования)
Артём Клевцов
expand.grid уже не соответствует канонам православной tidy-веры?
да нет никакой веры, просто crossing созвучно с соотв. sql операциями, вот поиск когда то и выдал этот вариант )
источник

АК

Артём Клевцов... in R (язык программирования)
Jury Sergeev
да вопрос не в этом был
Да понятно, что не в этом. Это просто моё старческое брюзжание на тему tidyverse-гм, когда учат tidy без base.
источник

JS

Jury Sergeev in R (язык программирования)
ну, кстати, поддержу, ибо начинал то я с dplyr, без base, но что-то получаться осмысленное стало только после изучения base
источник

JS

Jury Sergeev in R (язык программирования)
и степик в этом помог, кстати, хороший там курс для новичков
источник

АК

Артём Клевцов... in R (язык программирования)
А в панды тоже без основ питона учат?
источник

Н

Не Миша in R (язык программирования)
Jury Sergeev
и степик в этом помог, кстати, хороший там курс для новичков
От Карпова и Иванчея?
источник

JS

Jury Sergeev in R (язык программирования)
Не Миша
От Карпова и Иванчея?
да
источник

JS

Jury Sergeev in R (язык программирования)
Артём Клевцов
А в панды тоже без основ питона учат?
да я ж сам )) если б учил кто
источник