Size: a a a

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

2021 January 14

A

Andrey in R (язык программирования)
Эдик Амперян
Пересматриваю запись второго вебинара по DT...
После 50-й минуты в части множественного присвоения есть такой момент (https://upravitelev.gitlab.io/r_webinars/data-table-intro-pt2.html#colnames):

# одновременно изменим колонки
my_dt[, (tg_cols) := list(e1 * 2, e4 = gsub('_', '', e4), e5 - 1)]

Но если убрать зачеркнутое e4 = и сделать так:
my_dt[, (tg_cols) := list(e1 * 2, gsub('_', '', e4), e5 - 1)]

То результат тот же самый.
Это "избыточность" DT или понимать как-то еще ?

@konhis подскажите
Это багофича:)
источник

A

Andrey in R (язык программирования)
На самом деле, думаю, суть была в иллюстрации того, что присваивается список. А список может быть именованным
источник

ЭА

Эдик Амперян... in R (язык программирования)
Andrey
На самом деле, думаю, суть была в иллюстрации того, что присваивается список. А список может быть именованным
Да... точно. Именованы же могут быть не все элементы списка
источник

PU

Philipp Upravitelev in R (язык программирования)
Эдик Амперян
Пересматриваю запись второго вебинара по DT...
После 50-й минуты в части множественного присвоения есть такой момент (https://upravitelev.gitlab.io/r_webinars/data-table-intro-pt2.html#colnames):

# одновременно изменим колонки
my_dt[, (tg_cols) := list(e1 * 2, e4 = gsub('_', '', e4), e5 - 1)]

Но если убрать зачеркнутое e4 = и сделать так:
my_dt[, (tg_cols) := list(e1 * 2, gsub('_', '', e4), e5 - 1)]

То результат тот же самый.
Это "избыточность" DT или понимать как-то еще ?

@konhis подскажите
это, скорее, мой недогляд. корректнее второй вариант, без e4
потому что, как сказал @biostat_r, тут присваивается список - и элементы списка матчатся по порядку с теми названиями колонок, которые перечислены в tg_cols. там же tg_cols = c('e1', 'e4', 'e5')
то есть, присваивать можно как именованный список, так и просто список, значения будут записаны в те колонки и под теми названиями, которые перечислены в векторе колонок (colnames)
источник

ЭА

Эдик Амперян... in R (язык программирования)
Но это конечно совсем запутало, когда элемент списка и колонка таблицы именовались одинаково
источник

PU

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

d

demonik in R (язык программирования)
Добрый день. Может кто-нибудь подсказать по поводу парсинга данных?
источник

d

demonik in R (язык программирования)
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/21X000000001160J/DE')$content)) - парсится без проблем
источник

d

demonik in R (язык программирования)
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/DE')$content)) - не парсится, хотя по ссылке видно, что данные доступны. Спасибо.
источник

ДВ

Дмитрий Володин... in R (язык программирования)
demonik
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/21X000000001160J/DE')$content)) - парсится без проблем
выполните отдельно GET запрос и посмотрите, какой статус у response, может быть там ответ
источник

АК

Артём Клевцов... in R (язык программирования)
demonik
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/DE')$content)) - не парсится, хотя по ссылке видно, что данные доступны. Спасибо.
> str(jsonlite::fromJSON("https://agsi.gie.eu/api/data/DE"))
List of 1
$ error: chr "access denied"
источник

ВП

Владимир Попукайло... in R (язык программирования)
demonik
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/DE')$content)) - не парсится, хотя по ссылке видно, что данные доступны. Спасибо.
источник

АК

Артём Клевцов... in R (язык программирования)
demonik
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/DE')$content)) - не парсится, хотя по ссылке видно, что данные доступны. Спасибо.
> content(GET('https://agsi.gie.eu/api/data/DE'))
{html_document}
<html>
[1] <body><p>{"error":"access denied"}</p></body>
источник

АК

Артём Клевцов... in R (язык программирования)
demonik
fromJSON(rawToChar(GET('https://agsi.gie.eu/api/data/DE')$content)) - не парсится, хотя по ссылке видно, что данные доступны. Спасибо.
Перед парсингом надо проверять заголовок content-type.
источник

d

demonik in R (язык программирования)
Артём Клевцов
> content(GET('https://agsi.gie.eu/api/data/DE'))
{html_document}
<html>
[1] <body><p>{"error":"access denied"}</p></body>
Да, спасибо, вижу что ошибка. Поскольку недавно работаю с этим не очень понимаю - можно ли как-то поправить?
источник

d

demonik in R (язык программирования)
У коллеги на Питоне аналогичный запрос работает без проблем
источник

ВП

Владимир Попукайло... in R (язык программирования)
demonik
У коллеги на Питоне аналогичный запрос работает без проблем
если запрос не отрабатывает курлом, то он не будет отрабатывать ни на каком языке. Или он не аналогичный
источник

d

demonik in R (язык программирования)
Владимир Попукайло
если запрос не отрабатывает курлом, то он не будет отрабатывать ни на каком языке. Или он не аналогичный
Однако он аналогичный. Та же ссылка, те же настройки... Возможно упускаю какую-то деталь, но пока не вижу где. Если кто-то может просветить - буду благодарен.
источник

ВП

Владимир Попукайло... in R (язык программирования)
demonik
Однако он аналогичный. Та же ссылка, те же настройки... Возможно упускаю какую-то деталь, но пока не вижу где. Если кто-то может просветить - буду благодарен.
что-то ещё в header'e запроса передают?
источник

ВП

Владимир Попукайло... in R (язык программирования)
demonik
Однако он аналогичный. Та же ссылка, те же настройки... Возможно упускаю какую-то деталь, но пока не вижу где. Если кто-то может просветить - буду благодарен.
Их документация утверждает, что-таки нужен токен
источник