Исключить некоторые столбцы от добавления суффикса в R - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь добавить некоторый суффикс (.1) ко всем столбцам в одном наборе данных, кроме тех, которые я буду позже использовать для сопоставления, имена которых я не хочу менять.Я пытаюсь это, но это дает мне ошибку («длины не совпадают ...»):

colnames(df[,-which(names(df)==c("survey", "ID", "HID"))]) <- paste(colnames(df[,-which(names(df)==c("survey", "ID", "HID"))]), "1", sep = ".")

Есть предложения?Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018

Вы делаете частую ошибку.
Сначала вы извлекаете субкадр из df.Тогда получите его colnames.Затем измените эти имена.Вы не изменили имена столбцов оригинального кадра данных, только суб-df.И этот sub-df теряется, когда инструкция заканчивается.

icol <- which(names(df) %in% c("survey", "ID", "HID"))
colnames(df)[-icol] <- paste(colnames(df)[-icol], "1", sep = ".")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...