Size: a a a

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

2020 December 06

ГД

Григорий Демин... in R (язык программирования)
Alexander Semenov
Если бы мы использовали цикл, то мы бы сравнивали x[i] c mean(x). Почему же тогда в этом решении мы сравниваем x с mean(x). Вот чего я понять не могу.
Это ровно то же самое, что и сравнение  1:5 > 3
источник

AS

Alexander Semenov in R (язык программирования)
Если x -- это колонка, то выходит мы сравниваем её со средним значением по колонке. Каким образом это превращает каждый элемент новой колонки в 1 и 0 я даже близко не представляю.
источник

PU

Philipp Upravitelev in R (язык программирования)
Alexander Semenov
Если x -- это колонка, то выходит мы сравниваем её со средним значением по колонке. Каким образом это превращает каждый элемент новой колонки в 1 и 0 я даже близко не представляю.
а в чем проблема?
> x <- 1:9
> ifelse(x > mean(x), 0, 1)
[1] 1 1 1 1 1 0 0 0 0
источник

AS

Alexander Semenov in R (язык программирования)
Григорий Демин
Это ровно то же самое, что и сравнение  1:5 > 3
Так. Теперь стало понятно. Но в голове укладывается с трудом пока. Спасибо.
источник

ГД

Григорий Демин... in R (язык программирования)
Я уж подумал, что это троллинг такой...
источник

PU

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

PU

Philipp Upravitelev in R (язык программирования)
Григорий Демин
Я уж подумал, что это троллинг такой...
+1
источник

AS

Alexander Semenov in R (язык программирования)
Грустно, когда единственное место, где приходится напрягать мозги, это учебные курсы.
источник

PU

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

AS

Alexander Semenov in R (язык программирования)
Боюсь, что это не повод для downgrade'a =(
источник

PU

Philipp Upravitelev in R (язык программирования)
тогда заведи пет-проджект или вторую работу :)
источник

ГД

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

AS

Alexander Semenov in R (язык программирования)
Как показывает практика, я и на r-то пока об детские задачки запинаюсь. Самое смешное, что я её решил, но при попытке понять, почему решение работает, что-то перемкнуло. Хоть про векторизацию и recycling слышал и думал, что понимаю, о чем они.
источник

AS

Alexander Semenov in R (язык программирования)
Недавно посмотрел неплохой доклад о пользе pet-projects. Не то, чтобы она не была мне очевидна, просто выдача подсунула: https://www.youtube.com/watch?v=oOG-aXP_ICI.
источник
2020 December 07

SG

Sergey Gumerov in R (язык программирования)
Коллеги,
как в R shiny вывести (render) график в отдельное окно браузера?
Предполагаю работать с двумя экранами, и элементы управления одного экрана должны быть связаны с выводом на втором
источник

AB

Anton Burtsev in R (язык программирования)
Добрый день.
Есть задача сделать множественный UPDATE в таблицу MySQL.

Строку запроса создаю в виде вектора:

queryString <- paste("UPDATE powernetwork.bo2018_raw_region51 SET st_status = '", as.numeric(inner), "' WHERE bo2018_raw_region51.st_data_ID = ", unlist(data["st_data_ID"]), ";", sep = "")

Результат - вектор queryString:

[1] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '0' WHERE bo2008_raw_region51.st_data_ID = 1;"
[2] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 2;"
[3] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 3;"
[4] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 4;"

Делаю запрос:

query <- dbSendQuery(mydb, queryString)

<MySQLResult:1818195059,23,1>

Выполняется только первый запрос. Остальные три не выполняются.

Как победить?
4 апдейта для примера. у меня таблица на 29 млн значений
источник

AS

Alexey Seleznev in R (язык программирования)
Anton Burtsev
Добрый день.
Есть задача сделать множественный UPDATE в таблицу MySQL.

Строку запроса создаю в виде вектора:

queryString <- paste("UPDATE powernetwork.bo2018_raw_region51 SET st_status = '", as.numeric(inner), "' WHERE bo2018_raw_region51.st_data_ID = ", unlist(data["st_data_ID"]), ";", sep = "")

Результат - вектор queryString:

[1] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '0' WHERE bo2008_raw_region51.st_data_ID = 1;"
[2] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 2;"
[3] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 3;"
[4] "UPDATE powernetwork.bo2008_raw_region51 SET st_status = '1' WHERE bo2008_raw_region51.st_data_ID = 4;"

Делаю запрос:

query <- dbSendQuery(mydb, queryString)

<MySQLResult:1818195059,23,1>

Выполняется только первый запрос. Остальные три не выполняются.

Как победить?
4 апдейта для примера. у меня таблица на 29 млн значений
ну во первых вместо dbSendQuery() лучше используйте dbExecute().

А во вторых все эти функции не векторованны, поэтому или sapply или цикл нужен
источник

ДВ

Дмитрий Володин... in R (язык программирования)
есть подозрение, что queryString должен быть единичной длины.

То есть все ваши 29 миллионов запросов надо уместить в единичный вектор
источник

ДВ

Дмитрий Володин... in R (язык программирования)
Или пробежаться циклом или использовать что-то из *apply
источник

AB

Anton Burtsev in R (язык программирования)
Alexey Seleznev
ну во первых вместо dbSendQuery() лучше используйте dbExecute().

А во вторых все эти функции не векторованны, поэтому или sapply или цикл нужен
Тогда понятно, надеялся без цикла обойтись. А чем dbExecute лучше будет?
Я пробовал сделать через cat() в одну строку, но dvSendQuery выдала ошибку
источник