首次打印data.table变量表示空,第二次打印显示内容

时间:2017-03-16 00:03:36

标签: r data.table

如果有人能够解释为什么在下面的示例中,第一个dt没有打印到屏幕上,而第二个{...}}会这样做,我将不胜感激。

df <- data.frame(V1=c(1,2),V2=c(11,12))
dt <- data.table(V3=c(4,5),V4=c(44,45))

change <- function(dt,df) {
  dt[, V4 := NULL]
  df <- df[,-2]
}

change(dt,df)

dt  # First dt, nothing printed

dt  # Second dt, contents printed as expected
   V3
1:  4
2:  5

如果我交换change()中命令的顺序,那么

change <- function(dt,df) {
  df <- df[,-2]
  dt[, V4 := NULL]
}

或者我删除df行以便

change <- function(dt,df) {
  dt[, V4 := NULL]
}

当第一个dt将其内容打印到屏幕时,意外行为消失。

我正在使用R版本3.3.2(2016-10-31)和data.table版本 1.9.6。

0 个答案:

没有答案