R сохранение вывода таблицы () в фрейм данных

У меня есть следующий фрейм данных:

id<-c(1,2,3,4,1,1,2,3,4,4,2,2)
period<-c("first","calib","valid","valid","calib","first","valid","valid","calib","first","calib","valid")
df<-data.frame(id,period)

типирование

table(df) 

результаты в

period
id  calib first valid
1     1     2     0
2     2     0     2
3     0     0     2
4     1     1     1

однако, если я сохраню его как фрейм данных "df"

 df<-data.frame(table(df))

формат «df»; было бы как

id period Freq
1   1  calib    2
2   2  calib    1
3   3  calib    1
4   4  calib    0
5   1  first    1
6   2  first    2
7   3  first    0
8   4  first    0
9   1  valid    0
10  2  valid    0
11  3  valid    2
12  4  valid    3

Как я могу избежать этого и как сохранить первый вывод, как он есть в кадре данных?

что еще более важно, есть ли способ получить тот же результат, используя «dcast»?

Ответы на вопрос(2)

Ваш ответ на вопрос