Size: a a a

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

2020 October 27

PU

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

AS

Alexander Semenov in R (язык программирования)
Philipp Upravitelev
ты что делаешь, изверг %)))

если это у тебя data.table, возьми просто
my_dt <- fread()
features <- my_dt[, .SD[1:2000], by = list(san = account_number)]
Кто ещё изверг? У меня от этого кода ноут колом встал. Пишу с телефона.
источник

PU

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

AS

Alexander Semenov in R (язык программирования)
Причем не самый древний ноут.
источник

AS

Alexander Semenov in R (язык программирования)
16Gb RAM
источник

PU

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

AS

Alexander Semenov in R (язык программирования)
Ну вот. А у меня даже мышь сейчас не шелохается.
источник

PU

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

впрочем, если уж у тебя dt колом встал, то и тайди помер бы, подозреваю :)))
источник

AS

Alexander Semenov in R (язык программирования)
Ну почему же? Моментально отработал. Только результат не тот вернул =)
источник

PU

Philipp Upravitelev in R (язык программирования)
Alexander Semenov
Ну почему же? Моментально отработал. Только результат не тот вернул =)
это не отработал, значит :)

попробуй мой синтаксис с меньшим числом и на меньшем объеме
потому что это достаточно простая операция, не должна она вешать комп

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

AS

Alexander Semenov in R (язык программирования)
Комп ещё думает. Там 63000 уникальный san.
источник

PU

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

PU

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

AS

Alexander Semenov in R (язык программирования)
У меня есть 63000 san, по каждому n записей (при n от 1 до 20). Мне нужна случайная выборка в 2000 уникальных san.
источник

PU

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

PU

Philipp Upravitelev in R (язык программирования)
Alexander Semenov
У меня есть 63000 san, по каждому n записей (при n от 1 до 20). Мне нужна случайная выборка в 2000 уникальных san.
в dt эту задачу я бы делал примитивным путем, вот так
my_dt <- fread()
san <- my_dt[, unique(account_number)]
san <- sample(san, 2000)
features <- my_dt[account_number %in% san]
источник

AS

Alexander Semenov in R (язык программирования)
А разве твой пример вернёт 2000 строк?
источник

PU

Philipp Upravitelev in R (язык программирования)
мой пример вернет 2000 * n, то есть по n строк 2000 уникальных san
если тебе просто 2k san нужны, последняя строчка лишняя
источник

AS

Alexander Semenov in R (язык программирования)
Спасибо, пойду спать лучше. Что-то я совсем перестал тебя понимать.
источник

PU

Philipp Upravitelev in R (язык программирования)
завтра напиши, если что%)
источник