Как добавить вектор INT к фактору? - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть матрица с именем matrix, которая выглядит следующим образом:

charge  convexhull_xCoor    convexhull_yCoor    id              intensity
3       3336.43             667.62       f_7936733956214261295  475891
3       3339.73             667.6        f_7936733956214261295  475891

Я получаю два вектора, id и интенсивность:

idVector = matrix[4]
intensityVector = matrix[5]

Я хочу добавить эти два вектора вместе, используяappend:

bigVector = append(idVector, intensityVector)

Однако, когда я делаю это, я получаю в результате:

[1]       4       3       2       1  475891 5490000 1860000 1100000

R сделал класс = factor из idVector, и когда я добавляю intVector кэто, это не добавляет это к лейблам.Как я могу добавить вектор INT к фактору?

Ниже приведен воспроизводимый код, у меня возникают проблемы только с выдачей dput (head (matrix, 4)), потому что он дает все идентификаторы, которых довольно много, я дал dput (head (matrix, 4))) векторов вместо.

vector1 = structure(c(4L, 3L, 2L, 1L), .Label = c("f_15177294341548527346", "f_18178836531573487427", "f_2444900193131259878", "f_7936733956214261295"), class = factor")
vector2 = c(475891, 5490000, 1860000, 1100000)
bigVector = append(vector1, vector2)
vector1
vector2
bigVector

1 Ответ

2 голосов
/ 27 февраля 2012

Вы не можете смешивать коэффициенты и числа, подобные этим, в векторе - вы должны использовать фрейм данных.

bigdf <- data.frame( id=idVector, intensity=intensityVector )

Затем посмотрите на bigdf (и вы можете получить доступ к столбцам через bigdf$id и т. Д.).

В качестве альтернативы, , если элементы idVector уникальны , вы можете добавить idVector в качестве атрибута names вашего intensityVector:

names(intensityVector) <- idVector

Однако идентификатор больше не является фактором, но вы можете ссылаться на значения в intensity по конкретному id, как в intensityVector['f_7936733956214261295'].

Подход с фреймами данных почти всегда лучшепотому что он очень хорошо подходит для статистического анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...