我尝试在我的闪亮的应用程序中创建一个DataTable,代码如下:
output$table <- renderDataTable({
dat
})这个dat对象是一个data.table。我得到了一个错误:
警告:错误在dimnames.data.table: data.table继承从data.frame (从1.5),但这个data.table没有。它是手动创建的(例如使用“structure”而不是“data.table”),还是使用早期版本的data.table保存到磁盘上?正确的类是c('data.table','data.frame')。
是因为我不能使用data.table创建DataTable吗?我能做什么?
发布于 2016-04-28 17:04:31
发布于 2021-04-28 20:12:38
我想提交这个可复制的解决方案示例,因为我在尝试将data.table函数应用于没有data.table类的数据帧时遇到了同样的困难。我花了很大的精力自己解决这个问题,因为这个页面上的解决方案被隐藏在评论中,而这些评论并没有解释如何复制解决方案。
当我发现DF2丢失了数据表类时,我就在transform()和aggregate()的关联之后立即使用了DT2 <- as.data.table(DF2)。换句话说,我只是在公式的两边使用了我原先认为是数据表的对象的名称。例如,如果它被命名为PuTTy_2 <- DF2,那么我的公式是
PuTTy_2 <- as.data.table(PuTTy_2)我运行了所有可用的包更新,包括data.table,这并没有解决我的问题。只有当我尝试类( DT2 )和类(DT1)时,我才发现DT2缺少数据表类,并且只有数据框架类。因此,DF2和DT1应该是合适的缩写。
这似乎是运行DF2 <- transform(DT1,.)的结果。还有DF2 <-聚合(.,DT1)。虽然我没有通过对代码进行故障排除来直接检查这一点,但我查找了transform()函数和聚合()函数,并确认这两个函数都完全与数据框架一起工作。
https://stackoverflow.com/questions/36879018
复制相似问题