【问题标题】:For loop for data.table library [duplicate]data.table库的for循环[重复]
【发布时间】:2020-08-27 02:37:21
【问题描述】:

我可以知道如何遍历列并使用 R 中的 data.table 函数。下面是我的代码。尽管我满足了所有条件(至少我相信如此),但还是出现了错误。提前致谢。

> for (i in names(baby2.dt)) {
+     baby2.dt[is.na(i), .(.N, i := mean(baby2.dt$i, na.rm=TRUE))]
+ }
Error in `:=`(i, mean(baby2.dt$i, na.rm = TRUE)) : 
  Check that is.data.table(DT) == TRUE. Otherwise, := and `:=`(...) are defined for use in j, once only and in particular ways. See help(":=").
> is.data.table(baby2.dt)
[1] TRUE

【问题讨论】:

  • 您是否阅读了错误信息?它准确地告诉你做什么。你试过baby2.dt[,..i]吗?或查看the faq

标签: r data.table


【解决方案1】:

尝试添加点(正如 flick 所说,这是错误消息所暗示的):

data(cars)
dt <- data.table(cars)
for (i in 1:ncol(dt)) { print(dt[,..i]) }

【讨论】:

  • 您好,在第一种尝试获取列的情况下。作品。但是除了在 for 循环中获取列之外,您如何使用 dt 函数。我编辑了问题以符合我的担忧。我希望你能帮助我。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2020-10-18
  • 1970-01-01
  • 2022-01-11
  • 2014-03-23
  • 1970-01-01
相关资源
最近更新 更多