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 ответов

14 просмотров

а зачем присвоение по индексу? можете просто 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, на джаве живет поэтому с большими датасетами, в которых особенно много колонок и/или значений в лейблах — тоска и морока в общем, рад, что оказалось полезно

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта