Size: a a a

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

2021 February 22

М

Марк in R (язык программирования)
fedor jilkin
Граф задаётся либо списком рёбер,либо матрицей смежности.
Фрейм необходимых вершин вы можете создать с помощью filter из dplyr.
c вершинами понятно) А список ребер?)
источник

DK

Dm Kb in R (язык программирования)
Марк
Привет) Задавал вопросы выше по теории графов, теперь вот перешел к практике))
У меня есть несколько млн вершин и большое кол-во связей между ними.
Хочется мне взять определенные вершины и построить от них всю цепочку связей, которые существуют.
Соответственно фрейм данных с вершинами я могу легко создать. Но как мне создать соответствующий фрейм данных для ребер? Вручную то отфильтровать ненужные связи я не могу, так не знаю их) Строю с помощью igraph. Подскажете, пжл, функцию, которая автоматом создаст фрейм с ребрами из фрейма вершин и признака, по которым эти ребра должны строиться?
Для направленного ациклического графа может попробовать  igraph::subcomponent()
источник

М

Марк in R (язык программирования)
Dm Kb
Для направленного ациклического графа может попробовать  igraph::subcomponent()
Спасибо. Наверное я еще рано взялся за практику. Пошел читать книгу, которую скидывали выше 😂
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
Привет) Задавал вопросы выше по теории графов, теперь вот перешел к практике))
У меня есть несколько млн вершин и большое кол-во связей между ними.
Хочется мне взять определенные вершины и построить от них всю цепочку связей, которые существуют.
Соответственно фрейм данных с вершинами я могу легко создать. Но как мне создать соответствующий фрейм данных для ребер? Вручную то отфильтровать ненужные связи я не могу, так не знаю их) Строю с помощью igraph. Подскажете, пжл, функцию, которая автоматом создаст фрейм с ребрами из фрейма вершин и признака, по которым эти ребра должны строиться?
А что за признак-то? Без этого непонятна задача
источник

М

Марк in R (язык программирования)
Иван Поздняков
А что за признак-то? Без этого непонятна задача
ip адреса, например
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
ip адреса, например
Так как именно они должны строиться? Полагаю, вопрос же именно в том, как это закодить
источник

М

Марк in R (язык программирования)
Иван Поздняков
Так как именно они должны строиться? Полагаю, вопрос же именно в том, как это закодить
да, как закодить. Есть уникальные id людей. Есть список их ip (от одного и больше). И нужен скрипт, в который кладешь нужный id, а он строит сеть по признаку ip.
источник

М

Марк in R (язык программирования)
Проблема в том, что я не понимаю, как создать фрейм для описания связей
источник

М

Марк in R (язык программирования)
Фрейм со всеми связями from и to я могу создать, просто сджойнив таблицу с id и ip саму с собой. Но получается много лишних связей, которые надо как то фильтрануть, если я хочу строить сеть по отдельным id
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
да, как закодить. Есть уникальные id людей. Есть список их ip (от одного и больше). И нужен скрипт, в который кладешь нужный id, а он строит сеть по признаку ip.
То есть просто cooccurrence matrix?
источник

М

Марк in R (язык программирования)
Иван Поздняков
То есть просто cooccurrence matrix?
Хотелось бы ответит да, но я не знаю что такое cooccurrence matrix)) Поэтому наверное я все же слишком рано пошел спрашивать, не доучив теорию)
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
Хотелось бы ответит да, но я не знаю что такое cooccurrence matrix)) Поэтому наверное я все же слишком рано пошел спрашивать, не доучив теорию)
Да не, в самый раз) вот, например: https://planspace.org/2013/01/30/visualize-co_occurrence/
источник

М

Марк in R (язык программирования)
Иван Поздняков
Да не, в самый раз) вот, например: https://planspace.org/2013/01/30/visualize-co_occurrence/
Эхх, англиский он такой английский)) Но спасибо, ща посмотрю)
источник

MS

Maria Servetnik in R (язык программирования)
Снова вопрос про кириллицу в Rstudio: кириллица нормально считывается в тиббл, но если она в векторе, то и в консоли, и в окружении показывается, как /u0123. При этом это Мак, установка локали ru_Ru.UTF-8 не помогает. Может, кто-нибудь сталкивался и всё-таки смог починить? Поиском по чату нашла только ответы про Винду и проблему с отсутствием utf-8 локали.
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
Эхх, англиский он такой английский)) Но спасибо, ща посмотрю)
можно и на русском найти, наверное. Суть вот в чем:
нужно создать матрицу, где по строкам айди, а по столбцам айпи
переменожить матрицу на транспонированную по правилам линейной алгебры
вот и получилась матрица смежности: каждая клетка матрица - сумма совместных пересечений
Причем, можно как создать сеть с вершинами id, так и сеть с вершинами ip
A <- matrix(c(1, 0, 0, 0, 0, 1, 1, 1, 0 , 1, 0 , 1), nrow = 3, dimnames = list(letters[1:3], c("one", "two", "three", "four")))
A
t(A) %*% A
A %*% t(A)
источник

М

Марк in R (язык программирования)
Иван Поздняков
можно и на русском найти, наверное. Суть вот в чем:
нужно создать матрицу, где по строкам айди, а по столбцам айпи
переменожить матрицу на транспонированную по правилам линейной алгебры
вот и получилась матрица смежности: каждая клетка матрица - сумма совместных пересечений
Причем, можно как создать сеть с вершинами id, так и сеть с вершинами ip
A <- matrix(c(1, 0, 0, 0, 0, 1, 1, 1, 0 , 1, 0 , 1), nrow = 3, dimnames = list(letters[1:3], c("one", "two", "three", "four")))
A
t(A) %*% A
A %*% t(A)
Кажется, понял, спасибо)
источник

М

Марк in R (язык программирования)
Иван Поздняков
можно и на русском найти, наверное. Суть вот в чем:
нужно создать матрицу, где по строкам айди, а по столбцам айпи
переменожить матрицу на транспонированную по правилам линейной алгебры
вот и получилась матрица смежности: каждая клетка матрица - сумма совместных пересечений
Причем, можно как создать сеть с вершинами id, так и сеть с вершинами ip
A <- matrix(c(1, 0, 0, 0, 0, 1, 1, 1, 0 , 1, 0 , 1), nrow = 3, dimnames = list(letters[1:3], c("one", "two", "three", "four")))
A
t(A) %*% A
A %*% t(A)
Кстати, уже как то спрашивал, но никто не подсказал. Нет какой то горячей клавиши для матричного умножения?) Гуглил, не нашел)
источник

М

Марк in R (язык программирования)
Типо как ctr shift M для канала
источник

ИП

Иван Поздняков... in R (язык программирования)
Марк
Кстати, уже как то спрашивал, но никто не подсказал. Нет какой то горячей клавиши для матричного умножения?) Гуглил, не нашел)
я, честно говоря, не могу себя представить ситуацию, когда этот оператор может понадобиться реально часто)
источник

DK

Dm Kb in R (язык программирования)
Коллеги, прошу прощения, если уже вопрос обсуждался... меня и, вероятно, не только меня интересует, насколько в повседневной практике пользователи R сталкиваются с необходимостью/удобством использования Python.
Лично мне пришлось с таким столкнуться всего пару раз: когда я не нашёл функцию для обработки хитрозакодированных гео данных в R и второй раз, когда увлёкся чат-ботами и платформой RASA, где Python - это основной клей функциональной логики.
источник