Size: a a a

R language and Statistical data analysis

2020 March 12

АК

Артём Клевцов in R language and Statistical data analysis
Andrey
?matrix
data  
an optional data vector (including a list or expression vector). Non-atomic classed R objects are coerced by as.vector and all attributes discarded.
как видим, ничего не discarded и не coerced. Баг или фича?
upd
class(as.vector(iris))
[1] "data.frame"
видать так и задумано
upd2
все равно только запутали все
> class(matrix(list(iris, iris), 2))
[1] "matrix"
> mode(matrix(list(iris, iris), 2))
[1] "list"
> typeof(matrix(list(iris, iris), 2))
[1] "list"
Список - это вектор и есть. typeof про хранение в памяти, а class - просто атрибут.
источник

АК

Артём Клевцов in R language and Statistical data analysis
Евгений Томилов
> make.names("АЛТ (гг/моль) %")
[1] "АЛТ..гг.моль..."


Блин, а. Во имя чего так.
Во имя добра и справедливости. Чтобы имена можно было исопльзовать в $ без `.
источник

ЕТ

Евгений Томилов in R language and Statistical data analysis
Артём Клевцов
Во имя добра и справедливости. Чтобы имена можно было исопльзовать в $ без `.
Да, это я понял. Это скорее от обуревания эмоциями возглас.
источник

A

Andrey in R language and Statistical data analysis
Артём Клевцов
Список - это вектор и есть. typeof про хранение в памяти, а class - просто атрибут.
так вот я и думаю, что с точки зрения реализации эта фигня все-таки остается (неатомарным) списком и никакие типично-матричные операции к ней неприменимы. Разве что транспонировать можно
источник

ЕТ

Евгений Томилов in R language and Statistical data analysis
data.frame(check.names = FALSE)
В общем, вот это решает мою проблему, мда. Никакого добра и справедливости.
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
а всего-то надо читать документацию и внимательнее смотреть на редко используемые аргументы :)
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
*пока мне студенты не показали value в grep(), так бы дураком и был
источник

ЕТ

Евгений Томилов in R language and Statistical data analysis
А как вы относитесь к %>%? Я заметил, что true-программисты, увидев код с пайпами, сразу впадают в ужас и требуют запилить больше промежуточных переменных.
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
я использую только в plotly, и то с трудом. ну, может быть, в rvest еще временами
в целом, не люблю
источник

V

Violet in R language and Statistical data analysis
Часто нечитабельно
источник

ЕТ

Евгений Томилов in R language and Statistical data analysis
А что вместо них делаете? Оборачивание функций или промежуточные переменные?
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
Евгений Томилов
А что вместо них делаете? Оборачивание функций или промежуточные переменные?
в зависимости от ситуации, само собой.
я в rvest обычно оборачиваю в функцию, если читабельности не мешает. иногда, редко, промежуточную переменную делаю
с плотли - все же пользуюсь пайпами. в редких случаях делаю промежуточную переменную.
источник

A

Andrey in R language and Statistical data analysis
в data.table свой чейнинг, не особо красивый - [][][], но юзать можно. := сильно сокращает потребность в промежуточных объектах
источник

GS

Gleb Suvorov in R language and Statistical data analysis
можно [] %>% .[] и тогда и красиво и быстро
источник

А

Александр in R language and Statistical data analysis
Andrey
в data.table свой чейнинг, не особо красивый - [][][], но юзать можно. := сильно сокращает потребность в промежуточных объектах
Мне наоборот кажется конструкция [][][][] вполне логичная и ясная, но это дело вкуса все же
источник

А[

Александр [capsula] in R language and Statistical data analysis
Евгений Томилов
А как вы относитесь к %>%? Я заметил, что true-программисты, увидев код с пайпами, сразу впадают в ужас и требуют запилить больше промежуточных переменных.
Не тру программист, но при вращении данных использую, вполне приемлемо
источник

A

Andrey in R language and Statistical data analysis
я про внешний вид кода, бывает тяжело подровнять, с %>% проще. Так-то все логично, у меня обычно бывает одна дополнительная операция типа сортировки или выбора столбцов после большого выражения в первой паре [], то есть 5-10-... операций в цепочку не объединяю
источник

A

Andrey in R language and Statistical data analysis
со всеми вариантами чейнинга все хорошо, пока копипастишь и все работает либо пишешь сам и обратно все работает. Как только нужно дебажить или просто вносить правки в чужой код, быстрее всего оказывается разбить на отдельные операции с промежуточными присваиваниями
источник

A

Andrey in R language and Statistical data analysis
особенно если все было хорошо на игрушечном примере, а на реальных данных с >10кк строк полезли эрроры, и вся цепочка работает пару минут, прежде чем упасть
источник

ЕТ

Евгений Томилов in R language and Statistical data analysis
Спасибо всем.
источник