изменить положение столбцов во фрейме данных с помощью TXT списка вкладок в R - PullRequest
1 голос
/ 03 октября 2011

Возможно, это простой вопрос, но я пытаюсь изменить положение столбцов в кадре данных в R. У меня есть этот кадр данных

TargetID   1065197   1005204     97610   1011789    101075   1002206
cg00000029 0.4192448 0.4177188 0.4797760 0.4214448 0.5500357 0.5535228
cg00000108 0.9191919 0.9358317 0.9428818 0.9397804 0.9293985 0.9495835
cg00000109 0.8935743 0.9157031 0.8731022 0.8734130 0.9226335 0.8980497
cg00000165 0.1387203 0.1699675 0.2031603 0.1683728 0.1822674 0.1623122
cg00000236 0.7502784 0.7324294 0.7895553 0.7096000 0.7878484 0.7747281
cg00000289 0.5698198 0.5864769 0.6527094 0.5058923 0.6033058 0.6524675

И я хочу переставить позиции, используя этот табличный текстовый файл, который указывает каждую пару столбцов в порядке

101075 1005204
97610 1002206
1011789 1065197

Так что результат должен быть примерно таким

colnames(reordered_data_frame)
TargetID 101075 1005204 97610 1002206 1011789 1065197

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 03 октября 2011

Если у вас есть вектор имен столбцов по порядку, скажите:

colorder=c(101075, 1005204, 97610, 1002206,1011789 ,1065197)

Вы можете изменить порядок столбцов, используя (при условии, что ваш фрейм данных называется dat):

newDf <- dat[, c("TargetID", colorder)]

Обычно вам нужно вызвать as.character() для colorder (поскольку имена столбцов являются числами), но когда мы объединяем текст "TargetID", вектор c("TargetID", colorder) преобразуется в символ. В целом, однако, не самая лучшая идея использовать цифры в качестве имен столбцов.

0 голосов
/ 03 октября 2011

Чтение имен столбцов из текстового файла с именем "columns.txt

cols <- scan("columns.txt","character")

Изменение порядка данных

redf <- dat[,c("TargetID",cols)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...