R 将 table() 的输出保存到数据框中

标签 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”获得相同的结果?

最佳答案

这会有帮助吗?

> data.frame(unclass(table(df)))
  calib first valid
1     1     2     0
2     2     0     2
3     0     0     2
4     1     1     1

关于R 将 table() 的输出保存到数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591445/

相关文章:

r - 模块中使用的 observeEvent Shiny 函数不起作用

mysql - RODBC 错误 : Could not SQLExecDirect in mysql

r - 创建一个数据框,每列中包含随机数

R 中的递归函数 : How do I save the output of every call to a vector?

r - 按条件 [Low, Hit, High] 分组并创建三个新列(R 中的 pandas 等效项)

r - 在 R 中,如何在数据框中找到所有字典单词的位置?

r - 如何垂直对齐条形图以使具有不同 x 数的每个条形获得相同的宽度

r - 增加 y 轴刻度标签 ggplot2 上的间距

R 相当于 Stata 的 xtregar

r - 如果 3 个对象的长度相同,则 R 函数返回 TRUE