#r #dataframe #coercion
#r #фрейм данных #принуждение
Вопрос:
Я хочу принудительно преобразовать фрейм данных, содержащий специальный столбец (матрицу или список), в «обычный» фрейм данных, где специальный столбец был распределен по многим столбцам. Мой пример :
df <- data.frame(x = 1:3, y = I(matrix(1:9, nrow = 3)))
str(df)
#> 'data.frame': 3 obs. of 2 variables:
#> $ x: int 1 2 3
#> $ y: 'AsIs' int [1:3, 1:3] 1 2 3 4 5 6 7 8 9
Мне нужно было бы применить функцию к df, чтобы вернуть следующий фрейм данных:
x y1 y2 y3
1 1 1 4 7
2 2 2 5 8
3 3 3 6 9
'data.frame': 3 obs. of 4 variables:
$ x : num 1 2 3
$ y1: num 1 2 3
$ y2: num 4 5 6
$ y3: num 7 8 9
Спасибо за вашу помощь
Ответ №1:
Мы можем использовать
out <- as.data.frame(do.call(cbind, df))