169 похожих чатов

Уровень вопроса: домовой Кузя учится кодить. Работаю с данными опроса, пакетом

heaven открыл .sav файл и загнал его в dataframe.
Задача: лаконично переименовать столбцы.
Если известны номера искомых столбцов и их мало, то переименовать легко
Но что делать, если нужно просто убрать нули из названия каждого столбца?
Ищу простое решение, где не нужно вручную переименовывать каждую колонку по типу: ('q1','q2'...'qN')

Вот такое решение сработало.
names(dt)[1:24] <- gsub("0", "", names(dt))

Но выдаёт ошибку.
"количество элементов, подлежащих замене, не кратно длине замены".
number of items to replace is not a multiple of replacement length
Вопрос: Почему консоль ругается? gsub успешно заменяет несколько нулей, результат ожидаемый.

9 ответов

19 просмотров

а зачем присвоение по индексу? можете просто names(dt) <-gsub(...,names(dt))

Либо [1:24] с обеих сторон, либо вообще уберите

Александр-Bobov Автор вопроса
Makar Minchenko
а зачем присвоение по индексу? можете просто name...

не уточнил: с 1 по 24 у меня вопросы по искомым характеристикам, которые система назначила q0001,q0002 и так далее. А с 25 по 30 начинается паспортичка (возраст, пол и т.п.). Паспортичку я переименовал вручную через перечисление элементов вектора. Для вопросов с 1 по 24 я так делать не хочу, потому их нельзя лаконично/удобно сократить. Проще сравнивать с анкетой. + Там ещё в .sav к каждому вопросу присвоены лейблы, которые раскрывают вопрос, но как с ними работать я ещё не раскурил. Есть - и отлично. Так удобнее.

Глупый вопрос, а почему кто то ещё использует что то другое кроме data.table?

Потому что в gsub тоже надо names(dt)[1:24]

Александр-Bobov Автор вопроса
Philipp Upravitelev
https://textbook.rintro.ru/io.html#io-spss

как раз сейчас статью оттуда читал, сэнкс

Александр-Bobov Автор вопроса
Philipp Upravitelev
https://textbook.rintro.ru/io.html#io-spss

спасибо, очень полезно с практической ТЗ. Узнал, что можно быстро перевести закодированные значения в факторы, и они автоматически перекодируют опрос. Хорошо, что прочитал, прежде чем начал строить костыли. SPSS мне люто систему грузит, аналогичные действия в R быстрее проходят. И таблицы сопряжённости можно в пару кликов вывести 👍

Александр Bobov
спасибо, очень полезно с практической ТЗ. Узнал, ч...

спсс с какой-то лохматой версии, чуть ли не с 15 или 17, на джаве живет поэтому с большими датасетами, в которых особенно много колонок и/или значений в лейблах — тоска и морока в общем, рад, что оказалось полезно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта