#r #dataframe
#r #фрейм данных
Вопрос:
Я довольно новичок в R и пытаюсь объединить df с фактором.
Мой df представляет собой фрейм данных размером 300 на 2, а коэффициент создается путем выборки 300 строк и присвоения им 1,2,3. Я хотел бы знать, как объединить мой фактор с df. По сути, я хочу, чтобы факторная переменная отображалась в виде столбца моего df.
library(mvtnorm)
cv <- matrix(c(1, 0, 0, 1), ncol = 2)
df <- rmvnorm(300, mean = c(3, 3), sigma = cv)
factors <- factor(sample(c(1, 2, 3), 300, replace = TRUE))
Я пытался merge(db, factors)
, но это не сработало. Я также попытался превратить переменную factors в df, но все равно не смог заставить ее работать.
Комментарии:
1. Извините, я добавил код, но не совсем уверен, как показать ожидаемый результат
2. Вам не обязательно преобразовывать данные в dataframe, вы можете сохранить их
cbind
в виде матрицы и.cbind(df, factors)
Ответ №1:
Ваш df
— это матрица, а не фрейм данных. Сделайте его фреймом данных, после чего вы сможете легко добавлять его factors
в виде столбца:
df <- rmvnorm(300, mean = c(3, 3), sigma = cv)
class(df) # "matrix"
df <- data.frame(df)
class(df) # "data.frame"
df$factors <- factors
Комментарии:
1. вы совершенно правы… Я думаю, что я просто назвал его df и забыл, что это все еще матрица … большое спасибо!