Size: a a a

R language and Statistical data analysis

2019 December 02

IV

Ivan Vdovin in R language and Statistical data analysis
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
спасибо
источник

IV

Ivan Vdovin in R language and Statistical data analysis
:)
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
прикольная, правда, немного странноваятая штука.
например, для тайминга выполнения кода используется древний tictoc, и ни слова ни про bench, ни про microbenchmark, ни про даже system.time
и структура любопытная. правда cookbook
источник

a

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

AS

Alexander Semenov in R language and Statistical data analysis
Одна из самых полезных книг для меня была (1-е издание).
источник

AS

Alexander Semenov in R language and Statistical data analysis
Впрочем, это плохая реклама, если учесть, что выборку из датафрейма с помощью индексов я до сих пор каждый раз гуглю.
источник

Д

Дима in R language and Statistical data analysis
Ребят, кто может подсказать. Подтягиваю данные из нескольких аккаунтов. Допустим их три. Когда в 1-м и 3-м есть данные, а во 2-м нет, то при выполнении команды на 2-м выбивает ошибку
Error in rbind(deparse.level, ...) : 
 numbers of columns of arguments do not match
После чего я обошол её с помощью оператора
next
, но данные не сгруппировались из аккаунтов 1 и 3 в которых данные есть.
Вопрос в том, можно ли как-то проигнорировать в цепочке  2-й аккаунт в котором данных нет и сгруппировать в таблице только те аккаунты в которых есть данные?
источник

АК

Артём Клевцов in R language and Statistical data analysis
Дима
Ребят, кто может подсказать. Подтягиваю данные из нескольких аккаунтов. Допустим их три. Когда в 1-м и 3-м есть данные, а во 2-м нет, то при выполнении команды на 2-м выбивает ошибку
Error in rbind(deparse.level, ...) : 
 numbers of columns of arguments do not match
После чего я обошол её с помощью оператора
next
, но данные не сгруппировались из аккаунтов 1 и 3 в которых данные есть.
Вопрос в том, можно ли как-то проигнорировать в цепочке  2-й аккаунт в котором данных нет и сгруппировать в таблице только те аккаунты в которых есть данные?
Код добровольно покажешь?
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
ничего не знаю за аккаунты

но у data.table в функции rbind/rbindlist есть аргументы fill и use.names, которые позволяют склеивать таблицы с разным количеством колонок
источник

Д

Дима in R language and Statistical data analysis
result <- data.frame(character())
for(i in 1:length(ga_id) ){
 print(ga_id[i])
 
 ga_data <- google_analytics(ga_id[i],
                             date_range <- c("2019-12-01", "2019-12-01"),
                             metrics <- c('ga:sessions'),
                             dimensions <- c('ga:date'),
                             filters = c("ga:adwordsCustomerID!=(not set)"))
 
 next
 ga_data$view_id <- ga_id[i]
 
 result <- rbind(result, ga_data)

}
источник

Д

Дима in R language and Statistical data analysis
Philipp Upravitelev
ничего не знаю за аккаунты

но у data.table в функции rbind/rbindlist есть аргументы fill и use.names, которые позволяют склеивать таблицы с разным количеством колонок
Сейчас попробую, спасибо
источник

AS

Alexey Seleznev in R language and Statistical data analysis
Дима
result <- data.frame(character())
for(i in 1:length(ga_id) ){
 print(ga_id[i])
 
 ga_data <- google_analytics(ga_id[i],
                             date_range <- c("2019-12-01", "2019-12-01"),
                             metrics <- c('ga:sessions'),
                             dimensions <- c('ga:date'),
                             filters = c("ga:adwordsCustomerID!=(not set)"))
 
 next
 ga_data$view_id <- ga_id[i]
 
 result <- rbind(result, ga_data)

}
так просто  в тело цикла проверить результат который вернула google_analytics
источник

AS

Alexey Seleznev in R language and Statistical data analysis
if ( nrow(ga_data) == 0 ) next
источник

AS

Alexey Seleznev in R language and Statistical data analysis
как то так
источник

AS

Alexey Seleznev in R language and Statistical data analysis
сейчас у тебя там при любом раскладе идёт next
источник

АК

Артём Клевцов in R language and Statistical data analysis
Этот цикл неадекватен. Если количество итераций известно заранее, то нужно исопльзовать список или вектор заданного размера, в который по индексу помещается результат. В конце список скоримть dplyr::bind_rows или data.table::rbinlist.
источник

АК

Артём Клевцов in R language and Statistical data analysis
И просьба более опытных коллег не поощрать подобное мракобесие 😉
источник

EL

Edgar Lakshin in R language and Statistical data analysis
Edgar Lakshin
@artemklevtsov , если знаете, что нужно исправить, был бы признателен
запрос такой сработал:

b2 <- 'url.json'
json_body <- jsonlite::toJSON(list(key = "api_key",companies = list(1, 2, 3),startDate="2019-12-01",endDate=today,isCompact=FALSE), auto_unbox = TRUE)
rex2<-POST(b2,httr::add_headers("Content-Type" = "application/json"), body = json_body, encode = "json")
источник

АК

Артём Клевцов in R language and Statistical data analysis
Edgar Lakshin
запрос такой сработал:

b2 <- 'url.json'
json_body <- jsonlite::toJSON(list(key = "api_key",companies = list(1, 2, 3),startDate="2019-12-01",endDate=today,isCompact=FALSE), auto_unbox = TRUE)
rex2<-POST(b2,httr::add_headers("Content-Type" = "application/json"), body = json_body, encode = "json")
encode = "json" нужен в том случае, если body - именованный список. Так тоже должно работать:
b <- list(key = "api_key",companies = list(1, 2, 3),startDate="2019-12-01",endDate=today,isCompact=FALSE)
OST(u, body = b, encode = "json")

В справочной странице про это написано.
источник