Skip to main content
 首页 » 编程设计

r之如何在不使用 R 中的 `length` 的情况下从中间索引切片数据直到结束(就像在 python 中一样)

2024年09月07日15kenshinobiy

在 python 中,我可以从五项列表中切出最后四项(从中提取值),如下所示:mylist[1:] (注意,基于 0 的索引)。在 R 中,冒号后没有东西似乎是一个错误。在两种语言中,我都可以将最后一个参数作为列表的长度,但这并不总是很方便(例如内联切片: colnames(iris)[2:length(colnames(iris))] )。

R 中有这样的语法吗?

请您参考如下方法:

嗯,这是来自 python 背景的混淆,但是 mylist[-1]似乎可以解决问题。在这种情况下,否定可以读作“除外”,即采用除第 1 列之外的所有内容。因此 colnames(iris)[-1]可以抓取除第一项之外的所有内容。

哦,为了排除更多的项目,把它当作一个被排除的范围,所以 colnames(iris)[-2:-4]将只保留第一个和所有项目之后(包括)第五个项目。

对于来自 python 的其他人,请查看此 nice slideshow comparing R to python .