Size: a a a

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

2020 December 08

ИП

Иван Поздняков... in R (язык программирования)
кажется, что-то такое пытались создать большевики, но у них ничего не вышло)
источник

К

Кирилл in R (язык программирования)
ребят, при выполнении команды df3 = cbind(cover_i[lol@from,], Gene[lol@to,][,1]) получается датафрейм с именами колонок "chromosome"          "start"               "end"                 "coverage"            "Gene[lol@to, ][, 1]".
Мне бы   "Gene[lol@to, ][, 1]" переименовать. Это можно сделать одной строкой или нужно новую команду пилить?
источник

ИП

Иван Поздняков... in R (язык программирования)
Кирилл
ребят, при выполнении команды df3 = cbind(cover_i[lol@from,], Gene[lol@to,][,1]) получается датафрейм с именами колонок "chromosome"          "start"               "end"                 "coverage"            "Gene[lol@to, ][, 1]".
Мне бы   "Gene[lol@to, ][, 1]" переименовать. Это можно сделать одной строкой или нужно новую команду пилить?
можно вокруг обернуть в setNames()
источник

К

Кирилл in R (язык программирования)
Иван Поздняков
можно вокруг обернуть в setNames()
я лошня, можно пободробнее
источник

ИП

Иван Поздняков... in R (язык программирования)
там в хэлпе примеры есть. Ну, первый аргумент - датафрейм, второй - новые имена. На выходе тот же датафрейм, но с новыми именами
источник

К

Кирилл in R (язык программирования)
понел
источник

ИП

Иван Поздняков... in R (язык программирования)
вот, кстати, к вопросу о (не)дружелюбии тайдиверс: с этого года джойнить по ключам разных типов нельзя, хэдли защищает нас от отстреливания своих ног.
https://twitter.com/hadleywickham/status/1336302918522335234
источник

R

R in R (язык программирования)
чувак прав, мне кажется, могли хотя бы ворнингом ограничиться
источник

a

aGricolaMZ in R (язык программирования)
Иван Поздняков
вот, кстати, к вопросу о (не)дружелюбии тайдиверс: с этого года джойнить по ключам разных типов нельзя, хэдли защищает нас от отстреливания своих ног.
https://twitter.com/hadleywickham/status/1336302918522335234
Черт, я всю тусовку пропустил...
источник

ИП

Иван Поздняков... in R (язык программирования)
aGricolaMZ
Черт, я всю тусовку пропустил...
она даже и не началась еще)
источник

ИП

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

PU

Philipp Upravitelev in R (язык программирования)
ну я бы сказал, что это изначально плохое поведение, джойнить по колонкам разных типов %)
источник

ИП

Иван Поздняков... in R (язык программирования)
Philipp Upravitelev
ну я бы сказал, что это изначально плохое поведение, джойнить по колонкам разных типов %)
ну вот и хэдли так считает. Получается, что нынешний тайди оказывается более строгим, чем дататейбл/базовый R. Или вот еще пример: dplyr::bind_rows() отказывается работать на колонках с одинаковыми названиями, но разных типов, а data.table::rbindlist() нет. Он будет имплицитно приводить к наиболее широкому типу, тогда в bind_rows даже такой опции нет (хотя, может, раньше и можно было)
источник

PU

Philipp Upravitelev in R (язык программирования)
дата.тейбл никогда не разрешал джойнить по колонкам разных типов, там длостаточно строгий в этом смысле подход
а вот классический дата.фрейм да
источник

PU

Philipp Upravitelev in R (язык программирования)
>имплицитно приводить к наиболее широкому типу
это классическая схема, когда объединяем вектора разного типа
источник

ИП

Иван Поздняков... in R (язык программирования)
ага, но вот тайди отходит в сторону от имплицитных штук в базовом R.
источник

PU

Philipp Upravitelev in R (язык программирования)
неявное приведение типов штука такая, с одной стороны очень удобная. с другой - выстрелить себе в ногу можно легко
при этом за такие игрища чуть ли не С шпыняют время от времени
источник

ИП

Иван Поздняков... in R (язык программирования)
именно так, поэтому выходит такой трейдофф между удобностью/понятностью и надежностью/багоустойчивостью. Еще один пример такого трейдоффа - в dplyr запрещен ресайклинг кроме векторов длиной один. То есть то, что в R считается одной из ключевых фишек, в тайди считается слишком опасным ружьем для отстреливания своих конечностей. Есть, правда, и исключения из этой тенденции, например, summarise() раньше мог выдавать строго одно значение, теперь же хоть вектор, хоть целый датафрейм
источник

PU

Philipp Upravitelev in R (язык программирования)
>то, что в R считается одной из ключевых фишек
эм. я не видел таких утверждений. и да, согласен, выглядит это хреново.
источник

PU

Philipp Upravitelev in R (язык программирования)
rstudio таки хотят сцепиться с джетбрейнс и анакондой %)
https://twitter.com/rstudio/status/1336329692492615682
источник