R 为什么在data.table中得到NULL作为副作用

R 为什么在data.table中得到NULL作为副作用,r,data.table,R,Data.table,下面的数据和代码来自??data.table和示例(data.table) 我不明白为什么我们在cat(v)之后得到NULL。 我们不能得到NULL吗?您得到的是NULL,因为数据表j位置的表达式,即cat返回NULL,因此您得到返回的NULL值,并且由于没有变量来捕获该值,因此默认情况下将在控制台中打印该值。如果不希望打印,可以将其分配给变量: x <- DT[2:5, cat(v, "\n")] # 2 3 4 5 x # NULL x您会得到NULL,因为数据表j位置的表达式,即

下面的数据和代码来自??data.table和示例(data.table)

我不明白为什么我们在cat(v)之后得到NULL。
我们不能得到NULL吗?

您得到的是
NULL
,因为数据表
j
位置的表达式,即
cat
返回
NULL
,因此您得到返回的
NULL
值,并且由于没有变量来捕获该值,因此默认情况下将在控制台中打印该值。如果不希望打印,可以将其分配给变量:

x <- DT[2:5, cat(v, "\n")]
# 2 3 4 5 
x
# NULL

x您会得到
NULL
,因为数据表
j
位置的表达式,即
cat
返回
NULL
,因此您会得到返回的
NULL
值,并且由于没有变量来捕获该值,因此默认情况下将在控制台中打印该值。如果不希望打印,可以将其分配给变量:

x <- DT[2:5, cat(v, "\n")]
# 2 3 4 5 
x
# NULL

x非常感谢。现在我不明白为什么我们首先得到2,3,4,5。。请你也简单解释一下,因为cat功能的副作用,你得到了2,3,4,5。您在数据表的i位置指定了2:5,这意味着cat将在索引2:5处打印向量v,在您的情况下,这是2,3,4,5。谢谢!现在我明白了it@Darren这是数据打印方式的副作用。表
[]打印,请参阅与之相关的一些问题(,),非常感谢。现在我不明白为什么我们首先得到2,3,4,5。。请你也简单解释一下,因为cat功能的副作用,你得到了2,3,4,5。您在数据表的i位置指定了2:5,这意味着cat将在索引2:5处打印向量v,在您的情况下,这是2,3,4,5。谢谢!现在我明白了it@Darren这是数据打印方式的副作用。表的[]打印方式,请参阅与之相关的一些问题(,)和