У меня есть таблицы данных. Таблица данных 1 имеет две переменные и 561 наблюдение, а таблица данных 2 имеет 563 переменных и 10 000 наблюдений. Я пытаюсь понять, как я могу наблюдение code_name
переменных из данных таблицы 1, чтобы переименовать переменные в таблице данных 2.Именование переменных по строкам в R
Что у меня есть:
Таблица данных 1
code code_name
11 rasf
04 iadf
27 pqwr
09 pklf
86 irmw
30 pwql
таблица данных 2
activity subject V1 V2 V3 V4 V5 V6
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
Что мне нужно:
activity subject rasf iadf pqwr pklf irmw pwql
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
Что я сделал:
#Extracts all rows and just column two from the data table 1
new_data_table1 <- data_table1[,2]
#Set names on data table 2 to build the final data
final_data <- setnames(data_table2, names(data_table2), c("activity", "subject", new_data_table1))
Проблема с моим кодом, что, когда я извлечь все строки из таблицы данных 1 дает длинный список, показывающий векторы для структуры и меток данные. Из-за этого, когда я запускаю мой код я получаю эту таблицу:
activity subject 243 244 245 246 247 248
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
Новые имена переменных являются номера, потому что они являются структуры, а не этикетки.
Этот ответ может быть опасно в том, что индексы возвращаемые 'grep' вслепую используются заменить имена в 'df2' на имена в' df1'. –
@TimBiegeleisen Я думаю, что столбцы OP в порядке. Предполагая, что количество элементов одинаково в обоих наборах данных, 'grep' будет указывать индекс столбцов в 'df2', даже если между ними находятся другие столбцы. Но здесь предполагается, что столбцы «V» нумеруются по возрастанию. – akrun
Правильно! Столбцы 'V' моего набора данных упорядочены и пронумерованы по возрастанию. – Rods2292