R объединение df с коэффициентом

#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 и забыл, что это все еще матрица … большое спасибо!