子集列在data.frame上起作用,但在data.table上不起作用

问题描述 投票:1回答:2

我可以从data.frame中选择几列:

> z[c("events","users")]
     events  users
1  26246016 201816
2    942767 158793
3  29211295 137205
4  30797086 124314

但不是来自data.table

> best[c("events","users")]
Starting binary search ...Error in `[.data.table`(best, c("events", "users")) : 
  typeof x.pixel_id (integer) != typeof i.V1 (character)
Calls: [ -> [.data.table

我该怎么办?有没有比turn the data.table back into a data.frame更好的方法?

r data.table multiple-columns subset
2个回答
5
投票

列子设置应在data.table中完成,而不是在data.frame中完成。改为:

j

检查i(幻灯片4)以了解如何读取DT[, c("x", "y")] 语法(更像SQL)。这将使您确信,在this presentation中提供列更有意义-与SQL中的SELECT等效。


6
投票

鉴于您正在寻找data.table,您应该在通话的j部分中使用data.table而不是list

c

请注意,您不需要在列名两边加上引号。

© www.soinside.com 2019 - 2024. All rights reserved.