R data.table最后一行索引快捷方式

R data.table最后一行索引快捷方式,r,data.table,R,Data.table,在matlab中,您可以执行以下操作 my_matrix[20:end] 这将使第20行到达我的\u矩阵中的最后一行。R data.table中是否有类似的快捷方式?比如: my_matrix[20:end, ] 使用提取操作符[可以访问R中矩阵的行和列。此外,nrow()是计算矩阵或数据帧中的行数的函数。下面是一个创建矩阵并访问最后5行和前3列的示例。我们使用set.seed()以确保随机数生成器始终使用runif()生成相同的结果。 OP注释中提到的使用.N的data.table版本如下

在matlab中,您可以执行以下操作

my_matrix[20:end]
这将使第20行到达
我的\u矩阵中的最后一行
R data.table
中是否有类似的快捷方式?比如:

my_matrix[20:end, ]

使用提取操作符
[
可以访问R中矩阵的行和列。此外,
nrow()
是计算矩阵或数据帧中的行数的函数。下面是一个创建矩阵并访问最后5行和前3列的示例。我们使用
set.seed()
以确保随机数生成器始终使用
runif()生成相同的结果。

OP注释中提到的使用
.N
data.table
版本如下所示

library(data.table)
aDataTable <- as.data.table(theData)
# print last 5 rows, first 3 columns
aDataTable[((.N)-4):.N,1:3]
请注意,
nrow()
方法也适用于数据表:

aDataTable[(nrow(theData)-4):nrow(theData),1:3]

嗯,有人建议我把这篇文章作为回答

tail(my_matrix, -19)

这将为您提供所需的输出。

您是否考虑过使用
.N
?只需使用tail(my_matrix,-19)@onyanbu我想您可以将其作为答案发布。谢谢。我想要的只是
my_matrix[20:.N,]
> aDataTable[((.N)-4):.N,1:3]
          V1        V2        V3
1: 0.2028385 0.8105820 0.0171761
2: 0.4002767 0.9859544 0.7952463
3: 0.6723984 0.2401554 0.9591462
4: 0.3931757 0.4883088 0.2563899
5: 0.5325255 0.1430370 0.7674389
> 
aDataTable[(nrow(theData)-4):nrow(theData),1:3]
tail(my_matrix, -19)